Я пытаюсь перенести свое приложение на Scala 2.10.0-M2.Я вижу некоторые хорошие улучшения с лучшими предупреждениями от компилятора.Но я также получил кучу ошибок, связанных с отображением из Enumeration.values
.
. Я приведу простой пример.Я хотел бы иметь перечисление, а затем предварительно создать группу объектов и построить карту, которая использует значения перечисления в качестве ключей, а затем некоторые соответствующие объекты в качестве значений.Например:
object Phrase extends Enumeration {
type Phrase = Value
val PHRASE1 = Value("My phrase 1")
val PHRASE2 = Value("My phrase 2")
}
class Entity(text:String)
object Test {
val myMapWithPhrases = Phrase.values.map(p => (p -> new Entity(p.toString))).toMap
}
Теперь это нормально работало на Scala 2.8 и 2.9.Но 2.10.0-M2 дает мне следующее предупреждение:
[ERROR] common/Test.scala:21: error: diverging implicit expansion for type scala.collection.generic.CanBuildFrom[common.Phrase.ValueSet,(common.Phrase.Value, common.Entity),That]
[INFO] starting with method newCanBuildFrom in object SortedSet
[INFO] val myMapWithPhrases = Phrase.values.map(p => (p -> new Entity(p.toString))).toMap
^
Что вызывает это и как вы это исправляет?