Durchschneide das Scala-Set mit dem Subtyp-Set
Warum kompiliert diese Funktion nicht?
case class MyType(n: Int)
def intersection(s1: Set[MyType], s2: Set[_ <: MyType]) =
(s1 & s2)
Ich erhalte folgenden Fehler:
Fehler: Typenkonflikt; gefunden: Setze [_ $ 1], wobei Typ _ $ 1 <: MyType erforderlich ist: scala.collection.GenSet [MyType] Hinweis: _ $ 1 <: MyType, aber Merkmal GenSet ist in Typ A unveränderlich wie_ <: MyType
. (SLS 3.2.10) (w & r)
Gibt es eine einfache Möglichkeit, das zweite Argument zu "promoten", um Set [MyType] einzugeben, ohne asInstanceOf zu verwenden?