Действительно ли нужны скобки вокруг финального кортежа? Он не компилируется без них, и компилятор пытается добавить только Sort («время») и жалуется, что вместо этого ожидает кортеж.
val maxSortCounts: Map[Sort, Int] =
sorts.map(s => s -> usedPredicates.map(pred => pred.signature.count(_ == s)).max)
.toMap + ((Sort("time"), 1))
Я пытался воспроизвести это поведение внутри REPL с более коротким примером, но там он ведет себя как задумано. Переменная sorts
представляет собой Seq[Sort]
.
error: type mismatch;
found : <snip>.Sort
required: (<snip>.Sort, Int)
.toMap + (Sort("time"), 1)