summaryrefslogtreecommitdiff
path: root/test/files/neg/t6539.check
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2013-12-19 00:03:24 +0100
committerEugene Burmako <xeno.by@gmail.com>2013-12-19 13:59:09 +0100
commitbce97058c4733f4c7bfac473db6bf378942900b8 (patch)
tree0b17b36362447bdf8976ab2bc1e8b128587d8e0f /test/files/neg/t6539.check
parentb5ef79f2f8bc010220d2920a890352d96ad84b45 (diff)
downloadscala-bce97058c4733f4c7bfac473db6bf378942900b8.tar.gz
scala-bce97058c4733f4c7bfac473db6bf378942900b8.tar.bz2
scala-bce97058c4733f4c7bfac473db6bf378942900b8.zip
makes boxity of fast track macros configurable
Previously, all built-in macros were assumed to be whitebox, but that’s actually not the case. Just quasiquote macros have to be whitebox, while the rest can be blackbox. This also fixes SI-8091, because blackbox macros are typechecked differently and therefore the necessary implicit conversion kicks in. If `f”...”` were to remain a whitebox macro, then due to the changes introduced in commit https://github.com/scala/scala/commit/a3b33419b02cafb7e2c6fed6dd96151859fc7d77 we would have to explicitly ascribe its expansion as String to achieve the same effect. After I made reify blackbox, several tests had to be changed, because we now explicitly ascribe the expansion with `c.Expr[T]`, which changes `toString`. Also, a number of less obvious corrections had to be applied, because things like `reify(<constant>).splice` have stopped being optimized away due to `reify(<constant>)` no longer having a narrow `c.Expr[<constant>.type]`, making it ineligible for constant folding. Moreover, this change forced me to adjust our approach to positioning blackbox wrappings, because after being changed to blacbox and starting using wrappings, f”...” interpolators used in the compiler started crashing -Yrangepos builds. Now wrapping Typed nodes are assigned with transparent positions.
Diffstat (limited to 'test/files/neg/t6539.check')
-rw-r--r--test/files/neg/t6539.check8
1 files changed, 7 insertions, 1 deletions
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