summaryrefslogtreecommitdiff
path: root/test/neg/S2.scala
blob: 83cc1829a39c1642a44d489d245ef44d7a9eb726 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
    }
}