From bfabceeb1d19848e86f69019a4614c3653420ccc Mon Sep 17 00:00:00 2001 From: liu fengyun Date: Mon, 19 Dec 2016 14:08:36 +0100 Subject: Fix #1820: condition of whether generates outer Previously, we don't generate `outer` for the anonymous class `new Inner2 {}`. This is incorrect, as `Inner2 {}` extends `A.Inner`, which requires an outer. trait A { val a = "a" trait Inner { def f = println(a) def h = 3 } } trait B extends A { trait Inner2 extends Inner new Inner2 {} } --- tests/run/i1820b.scala | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 tests/run/i1820b.scala (limited to 'tests/run/i1820b.scala') diff --git a/tests/run/i1820b.scala b/tests/run/i1820b.scala new file mode 100644 index 000000000..3452b6158 --- /dev/null +++ b/tests/run/i1820b.scala @@ -0,0 +1,19 @@ +trait A { + val a = "a" + trait Inner { + def f = println(a) + def h = 3 + } +} + +trait B extends A { + trait Inner2 extends Inner + def g = new Inner2 {} +} + +object Test { + def main(args: Array[String]): Unit = { + val b = new B {} + b.g.f + } +} -- cgit v1.2.3