diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-12-30 07:24:51 -0800 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-12-30 07:24:51 -0800 |
commit | fbbe7cc1773fad2b261f65b1381f94532d252f6f (patch) | |
tree | 7c79981852579c47a34c90704f90108bdf1adbc6 /test/files/neg | |
parent | 991cd1690380cda60a4416f43b8f31777eb1e640 (diff) | |
parent | bce97058c4733f4c7bfac473db6bf378942900b8 (diff) | |
download | scala-fbbe7cc1773fad2b261f65b1381f94532d252f6f.tar.gz scala-fbbe7cc1773fad2b261f65b1381f94532d252f6f.tar.bz2 scala-fbbe7cc1773fad2b261f65b1381f94532d252f6f.zip |
Merge pull request #3288 from xeno-by/topic/f-interpolator
makes boxity of fast track macros configurable
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/compile-time-only-b.check | 8 | ||||
-rw-r--r-- | test/files/neg/macro-reify-splice-splice.check | 7 | ||||
-rw-r--r-- | test/files/neg/macro-reify-splice-splice.flags | 1 | ||||
-rw-r--r-- | test/files/neg/macro-reify-splice-splice/Macros_1.scala | 11 | ||||
-rw-r--r-- | test/files/neg/macro-reify-splice-splice/Test_2.scala | 3 | ||||
-rw-r--r-- | test/files/neg/t6539.check | 8 |
6 files changed, 36 insertions, 2 deletions
diff --git a/test/files/neg/compile-time-only-b.check b/test/files/neg/compile-time-only-b.check index 8292a0ddeb..50cdf57fb5 100644 --- a/test/files/neg/compile-time-only-b.check +++ b/test/files/neg/compile-time-only-b.check @@ -1,7 +1,13 @@ +compile-time-only-b.scala:9: error: splice must be enclosed within a reify {} block + val ignored1 = expr.splice + ^ +compile-time-only-b.scala:10: error: cannot use value except for signatures of macro implementations + val ignored2 = expr.value + ^ compile-time-only-b.scala:13: error: splice must be enclosed within a reify {} block val ignored3 = reify(fortyTwo).splice ^ compile-time-only-b.scala:14: error: cannot use value except for signatures of macro implementations val ignored4 = reify(fortyTwo).value ^ -two errors found +four errors found diff --git a/test/files/neg/macro-reify-splice-splice.check b/test/files/neg/macro-reify-splice-splice.check new file mode 100644 index 0000000000..bd1ea7acee --- /dev/null +++ b/test/files/neg/macro-reify-splice-splice.check @@ -0,0 +1,7 @@ +Macros_1.scala:8: error: the splice cannot be resolved statically, which means there is a cross-stage evaluation involved. +cross-stage evaluations need to be invoked explicitly, so we're showing you this error. +if you're sure this is not an oversight, add scala-compiler.jar to the classpath, +import `scala.tools.reflect.Eval` and call `<your expr>.eval` instead. + { c.universe.reify(c.universe.reify("hello world")) }.splice.splice + ^ +one error found diff --git a/test/files/neg/macro-reify-splice-splice.flags b/test/files/neg/macro-reify-splice-splice.flags new file mode 100644 index 0000000000..cd66464f2f --- /dev/null +++ b/test/files/neg/macro-reify-splice-splice.flags @@ -0,0 +1 @@ +-language:experimental.macros
\ No newline at end of file diff --git a/test/files/neg/macro-reify-splice-splice/Macros_1.scala b/test/files/neg/macro-reify-splice-splice/Macros_1.scala new file mode 100644 index 0000000000..691f22ad07 --- /dev/null +++ b/test/files/neg/macro-reify-splice-splice/Macros_1.scala @@ -0,0 +1,11 @@ +import scala.reflect.macros.{BlackboxContext => Ctx} + +object Macros { + def foo = macro Impls.foo + + object Impls { + def foo(c: Ctx) = c.universe.reify { + { c.universe.reify(c.universe.reify("hello world")) }.splice.splice + } + } +}
\ No newline at end of file diff --git a/test/files/neg/macro-reify-splice-splice/Test_2.scala b/test/files/neg/macro-reify-splice-splice/Test_2.scala new file mode 100644 index 0000000000..f697da6020 --- /dev/null +++ b/test/files/neg/macro-reify-splice-splice/Test_2.scala @@ -0,0 +1,3 @@ +object Test extends App { + println(Macros.foo) +}
\ No newline at end of file diff --git a/test/files/neg/t6539.check b/test/files/neg/t6539.check index b647636338..8c94a8ad4c 100644 --- a/test/files/neg/t6539.check +++ b/test/files/neg/t6539.check @@ -7,4 +7,10 @@ Test_2.scala:3: error: cto may only be used as an argument to m Test_2.scala:5: error: cto may only be used as an argument to m M.cto // error ^ -three errors found +Test_2.scala:9: error: splice must be enclosed within a reify {} block + val splice = expr.splice + ^ +Test_2.scala:10: error: cannot use value except for signatures of macro implementations + val value = expr.value + ^ +5 errors found |