Вы ошиблись в диагностике проблемы.Дело не в том, что он не распознает псевдоним типа того же типа, что и псевдоним.Дело в том, что псевдоним типа - это scala.collection.immutable.Set, и это не то же самое, что scala.collection.Set.
Редактировать: кстати, я думал, что исправил это, о чем свидетельствуеткомментарий в типе диагностики:
... Also, if the
* type error is because of a conflict between two identically named
* classes and one is in package scala, fully qualify the name so one
* need not deduce why "java.util.Iterator" and "Iterator" don't match.
Видимо, нужно больше работы.
Редактировать 17.07.2010: ОК, это заняло у меня шокирующе много времени, но теперь, по крайней мере, что-то говориттрудно понять неправильно.
files/neg/type-diagnostics.scala:4: error: type mismatch;
found : scala.collection.Set[String]
required: scala.collection.immutable.Set[String]
def f = Calculator("Hello",binding.keySet)
^