blob: e4339bb3f1e2b83286bbe1d265da974887d2ccbd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/* I believe this code is correct, but the compiler rejects it:
**
** S8.scala:18: type mismatch;
** found : M.x.A
** required: M.x.a.B
** val y: x.a.B = new x.A(); //correct?
** ^
** For a given value x of type S8, type x.A should be
** a subtype of x.a.B.
*/
class S8() {
val a: S8 = this;
class A() extends a.B() {}
class B() {}
}
module M {
val x = new S8();
val y: x.a.B = new x.A(); //correct?
}
|