Scala 类型参数不符合trait Subtractable';s型参数界

Scala 类型参数不符合trait Subtractable';s型参数界,scala,Scala,升级到Scala 2.12后,我遇到了一个奇怪的代码编译问题: val c = Map("a" -> Set[Map[String, String]](), "b" -> Map[String, String]()) 它正在引发此异常: Error:(19, 7) type arguments [?,Iterable[Equals] with String with scala.collection.immutable.Map[String,String] => Any wi

升级到Scala 2.12后,我遇到了一个奇怪的代码编译问题:

val c = Map("a" -> Set[Map[String, String]](), "b" -> Map[String, String]())
它正在引发此异常:

Error:(19, 7) type arguments [?,Iterable[Equals] with String with scala.collection.immutable.Map[String,String] => Any with scala.collection.generic.Subtractable[_ >: String with scala.collection.immutable.Map[String,String] <: Object, Iterable[Equals] with String with scala.collection.immutable.Map[String,String] => Any with scala.collection.generic.Subtractable[_ >: String with scala.collection.immutable.Map[String,String] <: Object, Iterable[Equals] with String with scala.collection.immutable.Map[String,String] => Any with scala.collection.generic.Subtractable[_ >: String with scala.collection.immutable.Map[String,String] <: Object, Equals]]{def seq: Iterable[Equals] with String with scala.collection.immutable.Map[String,String] => Any with scala.collection.generic.Subtractable[_ >: String with scala.collection.immutable.Map[String,String] <: Object, Equals]}]{def seq: Iterable[Equals] with String with scala.collection.immutable.Map[String,String] => Any with scala.collection.generic.Subtractable[_ >: String with scala.collection.immutable.Map[String,String] <: Object, Iterable[Equals] with String with scala.collection.immutable.Map[String,String] => Any with scala.collection.generic.Subtractable[_ >: String with scala.collection.immutable.Map[String,String] <: Object, Equals]]{def seq: Iterable[Equals] with String with scala.collection.immutable.Map[String,String] => Any with scala.collection.generic.Subtractable[_ >: String with scala.collection.immutable.Map[String,String] <: Object, Equals]}}] do not conform to trait Subtractable's type parameter bounds [A,+Repr <: scala.collection.generic.Subtractable[A,Repr]]

错误:(19,7)键入参数[?,Iterable[Equals]和scala.collection.immutable.Map[String,String]=>Any和scala.collection.generic.Subtractable[\u>:String和scala.collection.immutable.Map[String,String]和scala.collection.generic.Subtractable[\u>:String和scala.collection.immutable.Map[String,String]Any with scala.collection.generic.Subtractable[\u>:String with scala.collection.immutable.Map[String,String]Any with scala.collection.generic.Subtractable[\u>:String with scala.collection.immutable.Map[String,String]Any with scala.collection.generic.Subtractable[\u>:String with scala.collection.immutable.Map[String,String]任何带有scala.collection.generic.Subtractable[\u>:String带有scala.collection.immutable.Map[String,String]任何带有scala.collection.generic.Subtractable[\u>:String带有scala.collection.immutable.Map[String,String]它看起来像个bug。如果没有模拟,可以将其发布

作为解决方法,请尝试将值附加到映射

scala> val c = Map.empty[String,Iterable[Any]] + ("a" -> Set[Map[String, String]]()) + ("b" -> Map[S
tring, String]())
c: scala.collection.immutable.Map[String,Iterable[Any]] = Map(a -> Set(), b -> Map())

您是否打算设置一个
和另一个
值映射
?在更新到2.12之前,该代码实现了什么?是的,第一个是集合,第二个是映射