Скала 2.12. Следующий код
val mapBuilder = Map.newBuilder[String, String]
val setBuilder = Set.newBuilder[String]
List(Option("")).foreach {
case Some(_) => mapBuilder += "" -> ""
case None => setBuilder += ""
}
не компилируется - компилятору не удается вывести наименьшую верхнюю границу двух компоновщиков (U
in 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
решает проблему:
List(Option("")).foreach[Any] {
...
Это ожидаемое поведение?