summaryrefslogtreecommitdiff
path: root/test/neg/S2.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/neg/S2.scala')
-rw-r--r--test/neg/S2.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/neg/S2.scala b/test/neg/S2.scala
new file mode 100644
index 0000000000..83cc1829a3
--- /dev/null
+++ b/test/neg/S2.scala
@@ -0,0 +1,19 @@
+/* I was wondering for a long time what types x and y have;
+** the compiler claims: z.Inner (see commented out line)
+** This is strange because z is not in scope.
+** Furthermore, compilation of this class yields the message: (why?)
+**
+** S2.scala:16: illegal cyclic reference involving value t
+** def t = foo(x, y);
+** ^
+*/
+module M {
+ def foo[T](x: T, y: T): T = x;
+ class S2() {
+ class Inner() extends S2() {}
+ def x = { val z = new S2(); new z.Inner(); }
+ def y = { val z = new S2(); new z.Inner(); }
+ def t = foo(x, y);
+ //def testType: Inner = x;
+ }
+}