添加“extends AnyVal”会导致“类型参数不符合”错误

时间:2013-01-27 22:45:48

标签: scala scala-2.10

在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]

为什么?

1 个答案:

答案 0 :(得分:4)

这是一个错误,它已经在当前的夜间修复了。

有关详细信息,请参阅this ticket