diff options
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/run/t4047.check | 5 | ||||
-rw-r--r-- | test/files/run/t4047.scala | 34 |
2 files changed, 39 insertions, 0 deletions
diff --git a/test/files/run/t4047.check b/test/files/run/t4047.check new file mode 100644 index 0000000000..2a942a70e0 --- /dev/null +++ b/test/files/run/t4047.check @@ -0,0 +1,5 @@ +Unit: called A.foo +Unit: called B.foo +Unit: called C.foo +Unit: called D.foo +Unit: called D.foo diff --git a/test/files/run/t4047.scala b/test/files/run/t4047.scala new file mode 100644 index 0000000000..cd42a8b4df --- /dev/null +++ b/test/files/run/t4047.scala @@ -0,0 +1,34 @@ +trait Foo[T] { val foo: T} + +class A extends Foo[Unit]{ + lazy val foo = println("Unit: called A.foo") +} + +class B extends Foo[Unit]{ + val foo = println("Unit: called B.foo") +} + +trait Bar[T] { def foo: T} + +class C extends Bar[Unit]{ + lazy val foo = println("Unit: called C.foo") +} + +class D extends Bar[Unit]{ + def foo = println("Unit: called D.foo") +} + +object Test extends Application { + val a: Foo[Unit] = new A + a.foo + a.foo + val b: Foo[Unit] = new B + b.foo + b.foo + val c: Bar[Unit] = new C + c.foo + c.foo + val d: Bar[Unit] = new D + d.foo + d.foo +} |