1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
package test;
trait C {}
trait D {}
trait E {}
object test {
def c: C = c;
def d: D = d;
def e: E = e;
}
import test._;
trait S extends ooo.I[D] {
def bar: E = foo(c,d);
}
class O[X]() {
trait I[Y] {
def foo(x: X, y: Y): E = e;
}
val i:I[E] = null;
val j:I[X] = null;
}
object ooo extends O[C]() {
def main = {
val s: S = null;
import s._;
foo(c,d);
ooo.i.foo(c,e);
ooo.j.foo(c,c);
bar
}
}
class Main() {
val s: S = null;
import s._;
foo(c,d);
ooo.i.foo(c,e);
ooo.j.foo(c,c);
bar;
}
|