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;
}
}
|