4

Scala 2.10では、これは機能します。

implicit class T1[A](val self: Iterator[A]) {
  def :+[B >: A](elem: B): Iterator[B] =
    self ++ Iterator(elem)
}

しかし、それを値クラスにしようとすると、次のようになります。

implicit class T2[A](val self: Iterator[A]) extends AnyVal {
  def :+[B >: A](elem: B): Iterator[B] =
    self ++ Iterator(elem)  
}

エラーが発生します:

type arguments [B] do not conform to method ++'s type parameter bounds [B >: A]

なんで?

4

1 に答える 1

4

これはバグであり、現在の夜間にすでに修正されています。

詳細については、このチケットを参照してください。

于 2013-01-27T23:34:16.140 に答える