diff options
Diffstat (limited to 'tests/untried/neg/t8244')
-rw-r--r-- | tests/untried/neg/t8244/Raw_1.java | 4 | ||||
-rw-r--r-- | tests/untried/neg/t8244/Test_2.scala | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/untried/neg/t8244/Raw_1.java b/tests/untried/neg/t8244/Raw_1.java new file mode 100644 index 000000000..0c667f110 --- /dev/null +++ b/tests/untried/neg/t8244/Raw_1.java @@ -0,0 +1,4 @@ +public abstract class Raw_1<T>{ + public Raw_1 raw() { return new Raw_1<String>() { public String t() { return ""; } }; } + public abstract T t(); +} diff --git a/tests/untried/neg/t8244/Test_2.scala b/tests/untried/neg/t8244/Test_2.scala new file mode 100644 index 000000000..152bb0b87 --- /dev/null +++ b/tests/untried/neg/t8244/Test_2.scala @@ -0,0 +1,12 @@ +class X extends Raw_1[X] { + override def t = this + def exxx = 0 +} + +object Test extends App { + def c(s: X) = { + val raw = s.raw + raw.t.exxx // java.lang.ClassCastException: java.lang.String cannot be cast to X + } + c(new X()) +} |