Scala推断最小上限

时间:2019-10-11 14:28:20

标签: scala inferred-type

斯卡拉2.12。以下代码

val mapBuilder = Map.newBuilder[String, String]
val setBuilder = Set.newBuilder[String]

List(Option("")).foreach {
  case Some(_) => mapBuilder += "" -> ""
  case None => setBuilder += ""
}

不编译-编译器无法推断两个构建器({{1}中的U)的最小上限:

foreach[U](f: A => U)

type arguments [String,Iterable[java.io.Serializable] with String => Any with scala.collection.generic.Subtractable[String,Equals]] do not conform to trait Subtractable's type parameter bounds [A,+Repr <: scala.collection.generic.Subtractable[A,Repr]] 注释foreach可解决问题:

Any

这是预期的行为吗?

0 个答案:

没有答案