aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/neg/macro-override-macro-overrides-abstract-method-b
diff options
context:
space:
mode:
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.scala8
-rw-r--r--tests/untried/neg/macro-override-macro-overrides-abstract-method-b/Test_2.scala6
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 = () }
+}