diff options
Diffstat (limited to 'tests/untried/neg/macro-override-macro-overrides-abstract-method-b')
-rw-r--r-- | tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Impls_Macros_1.scala | 8 | ||||
-rw-r--r-- | tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Test_2.scala | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Impls_Macros_1.scala b/tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Impls_Macros_1.scala new file mode 100644 index 000000000..17827abf7 --- /dev/null +++ b/tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Impls_Macros_1.scala @@ -0,0 +1,8 @@ +import scala.reflect.macros.blackbox.Context +import language.experimental.macros + +trait T { def t(): Unit } +trait A { def t(): Unit = () } + +object Macro { def t(c: Context)(): c.Expr[Unit] = c.universe.reify(()) } +trait C extends T { self: A => override def t(): Unit = macro Macro.t } diff --git a/tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Test_2.scala b/tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Test_2.scala new file mode 100644 index 000000000..79deae63b --- /dev/null +++ b/tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Test_2.scala @@ -0,0 +1,6 @@ +object Test extends App { + val c1 = new A with C {} + val c2 = new C with A {} + val c3 = new C with A { override def t(): Unit = macro Macro.t } + val c4 = new C with A { override def t(): Unit = () } +} |