diff options
Diffstat (limited to 'tests/untried/pos/t4717.scala')
-rw-r--r-- | tests/untried/pos/t4717.scala | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/untried/pos/t4717.scala b/tests/untried/pos/t4717.scala new file mode 100644 index 000000000..ed35a8ad8 --- /dev/null +++ b/tests/untried/pos/t4717.scala @@ -0,0 +1,35 @@ + + + + + + + +trait Bug1[@specialized(Boolean) A] extends TraversableOnce[A] { + + def ++[B >: A](that: TraversableOnce[B]): Iterator[B] = new Iterator[B] { + lazy val it = that.toIterator + def hasNext = it.hasNext + def next = it.next + } + +} + + + +trait WorksFine[@specialized(Boolean) A] { + class SubBounds[B >: A] extends Bounds[B] { + lazy val it = ??? + } + def x[B >: A]: Unit = new SubBounds[B] +} + + +trait Bounds[@specialized(Boolean) A] { + // okay without `>: A` + def x[B >: A]: Unit = new Bounds[B] { + lazy val it = ??? // def or val okay + } +} + + |