diff options
-rw-r--r-- | src/reflect/scala/reflect/internal/TreeInfo.scala | 3 | ||||
-rw-r--r-- | test/files/pos/t8001.check | 0 | ||||
-rw-r--r-- | test/files/pos/t8001.flags | 1 | ||||
-rw-r--r-- | test/files/pos/t8001/Macros_1.scala | 10 | ||||
-rw-r--r-- | test/files/pos/t8001/Test_2.scala | 4 | ||||
-rw-r--r-- | test/files/run/macro-system-properties.check | 6 |
6 files changed, 17 insertions, 7 deletions
diff --git a/src/reflect/scala/reflect/internal/TreeInfo.scala b/src/reflect/scala/reflect/internal/TreeInfo.scala index 8982fd4246..48db8f7bf7 100644 --- a/src/reflect/scala/reflect/internal/TreeInfo.scala +++ b/src/reflect/scala/reflect/internal/TreeInfo.scala @@ -199,7 +199,8 @@ abstract class TreeInfo { * don't reuse it for important matters like inlining * decisions. */ - def isPureExprForWarningPurposes(tree: Tree) = tree match { + def isPureExprForWarningPurposes(tree: Tree): Boolean = tree match { + case Typed(expr, _) => isPureExprForWarningPurposes(expr) case EmptyTree | Literal(Constant(())) => false case _ => def isWarnableRefTree = tree match { diff --git a/test/files/pos/t8001.check b/test/files/pos/t8001.check new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/test/files/pos/t8001.check diff --git a/test/files/pos/t8001.flags b/test/files/pos/t8001.flags new file mode 100644 index 0000000000..e8fb65d50c --- /dev/null +++ b/test/files/pos/t8001.flags @@ -0,0 +1 @@ +-Xfatal-warnings
\ No newline at end of file diff --git a/test/files/pos/t8001/Macros_1.scala b/test/files/pos/t8001/Macros_1.scala new file mode 100644 index 0000000000..1f8dab51c1 --- /dev/null +++ b/test/files/pos/t8001/Macros_1.scala @@ -0,0 +1,10 @@ +import scala.language.experimental.macros +import scala.reflect.macros.BlackboxContext + +object Macros { + def foo = macro impl + def impl(c: BlackboxContext) = { + import c.universe._ + q"()" + } +}
\ No newline at end of file diff --git a/test/files/pos/t8001/Test_2.scala b/test/files/pos/t8001/Test_2.scala new file mode 100644 index 0000000000..6d72d96070 --- /dev/null +++ b/test/files/pos/t8001/Test_2.scala @@ -0,0 +1,4 @@ +object Test extends App { + Macros.foo + (): Unit +}
\ No newline at end of file diff --git a/test/files/run/macro-system-properties.check b/test/files/run/macro-system-properties.check index b102d319ec..ea4c5a664a 100644 --- a/test/files/run/macro-system-properties.check +++ b/test/files/run/macro-system-properties.check @@ -14,15 +14,9 @@ scala> object GrabContext { defined object GrabContext scala> object Test { class C(implicit a: Any) { GrabContext.grab } } -<console>:12: warning: a pure expression does nothing in statement position; you may be omitting necessary parentheses - object Test { class C(implicit a: Any) { GrabContext.grab } } - ^ defined object Test scala> object Test { class C(implicit a: Any) { GrabContext.grab } } -<console>:12: warning: a pure expression does nothing in statement position; you may be omitting necessary parentheses - object Test { class C(implicit a: Any) { GrabContext.grab } } - ^ defined object Test scala> |