diff options
Diffstat (limited to 'test/pending/run/t4996.scala')
-rw-r--r-- | test/pending/run/t4996.scala | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/pending/run/t4996.scala b/test/pending/run/t4996.scala new file mode 100644 index 0000000000..58a8fe16a3 --- /dev/null +++ b/test/pending/run/t4996.scala @@ -0,0 +1,15 @@ +object SpecializationAbstractOverride { + + trait A[@specialized(Int) T] { def foo(t: T) } + trait B extends A[Int] { def foo(t: Int) { println("B.foo") } } + trait M extends B { abstract override def foo(t: Int) { super.foo(t) ; println ("M.foo") } } + object C extends B with M + + object D extends B { override def foo(t: Int) { super.foo(t); println("M.foo") } } + + def main(args: Array[String]) { + D.foo(42) // OK, prints B.foo M.foo + C.foo(42) // StackOverflowError + } +} + |