aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/pos/t4717.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/pos/t4717.scala')
-rw-r--r--tests/untried/pos/t4717.scala35
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
+ }
+}
+
+