diff --git a/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/app/App.scala b/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/app/App.scala new file mode 100644 index 00000000..07f3d046 --- /dev/null +++ b/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/app/App.scala @@ -0,0 +1,7 @@ +object App { + def main(args: Array[String]): Unit = { + val b = new B {} + b.foo(1) + b.foo(-1) + } +} diff --git a/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/problems.txt b/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/problems.txt new file mode 100644 index 00000000..e69de29b diff --git a/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/v1/A.scala b/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/v1/A.scala new file mode 100644 index 00000000..e7699b0c --- /dev/null +++ b/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/v1/A.scala @@ -0,0 +1,4 @@ +trait A { + def foo(a: Int) = println(s"A.foo $a") +} +trait B extends A diff --git a/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/v2/A.scala b/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/v2/A.scala new file mode 100644 index 00000000..a017a211 --- /dev/null +++ b/functional-tests/src/test/trait-inherits-new-trait-with-concrete-method2-ok/v2/A.scala @@ -0,0 +1,13 @@ +trait A { + def foo(a: Int) = println(s"A.foo $a") +} +trait AA extends A { + override def foo(a: Int) = { + if (a > 0) { + println(s"AA.foo $a") + } else { + super.foo(a) + } + } +} +trait B extends AA