diff options
author | Martin Odersky <odersky@gmail.com> | 2003-03-06 19:14:59 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-03-06 19:14:59 +0000 |
commit | a16dd265fddd7da26564109f4026fb1d12c1071a (patch) | |
tree | 702ba02d30d68d21d51ac5c83f31b448cd654ce1 /test/neg/S2.scala | |
parent | bcc3899778ce607df11b471a641493037a8c962f (diff) | |
download | scala-a16dd265fddd7da26564109f4026fb1d12c1071a.tar.gz scala-a16dd265fddd7da26564109f4026fb1d12c1071a.tar.bz2 scala-a16dd265fddd7da26564109f4026fb1d12c1071a.zip |
*** empty log message ***
Diffstat (limited to 'test/neg/S2.scala')
-rw-r--r-- | test/neg/S2.scala | 19 |
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; + } +} |