diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2013-10-22 23:23:49 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2013-10-23 01:12:13 +0200 |
commit | 9b6a269b6af0da9a89d39578402bed82c47f4ab7 (patch) | |
tree | 85a19e3e628a380a571bfad0ce7525aa7d728476 /test/files/neg/macro-invalidret.check | |
parent | 8848f241616627b0c5beca38a5107c4eca3e10fd (diff) | |
download | scala-9b6a269b6af0da9a89d39578402bed82c47f4ab7.tar.gz scala-9b6a269b6af0da9a89d39578402bed82c47f4ab7.tar.bz2 scala-9b6a269b6af0da9a89d39578402bed82c47f4ab7.zip |
better macro impl shape errors
With the advent of quasiquotes, we allowed both arguments and return types
of macro impls to be c.Tree's (as opposed to traditional c.Expr[T]'s).
This warrants an update of macro def <-> macro impl signature mismatch
errors that include a printout of suggested macro impl signatures. Now
along with a signature that contains exprs, we suggest another signature
that has all exprs replaced by trees
Diffstat (limited to 'test/files/neg/macro-invalidret.check')
-rw-r--r-- | test/files/neg/macro-invalidret.check | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/files/neg/macro-invalidret.check b/test/files/neg/macro-invalidret.check index 8c6ed4eb45..6cf62c292b 100644 --- a/test/files/neg/macro-invalidret.check +++ b/test/files/neg/macro-invalidret.check @@ -1,11 +1,13 @@ Macros_Test_2.scala:2: error: macro implementation has wrong shape: required: (c: scala.reflect.macros.Context): c.Expr[Any] + or : (c: scala.reflect.macros.Context): c.Tree found : (c: scala.reflect.macros.Context): Int type mismatch for return type: Int does not conform to c.Expr[Any] def foo1 = macro Impls.foo1 ^ Macros_Test_2.scala:3: error: macro implementation has wrong shape: required: (c: scala.reflect.macros.Context): c.Expr[Any] + or : (c: scala.reflect.macros.Context): c.Tree found : (c: scala.reflect.macros.Context): reflect.runtime.universe.Literal type mismatch for return type: reflect.runtime.universe.Literal does not conform to c.Expr[Any] def foo2 = macro Impls.foo2 |