From 66577fa6ec07de9769150019deeafb25a1e5422a Mon Sep 17 00:00:00 2001 From: Eugene Burmako Date: Fri, 22 Nov 2013 22:13:44 +0100 Subject: SI-8001 spurious "pure expression does nothing" warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `isPureExprForWarningPurposes` doesn’t warn on `()`, but `(): Unit` leaves it confused. This patch fixes the problem. The fix is important in the context of the recent split between blackbox and whitebox macros. Macro engines wrap expansions of blackbox macros in type ascriptions, so a macro that expands into `()` would actually produce `(): Unit`, which would trigger a spurious warning. Thanks @milessabin for spotting this problem! --- test/files/run/macro-system-properties.check | 6 ------ 1 file changed, 6 deletions(-) (limited to 'test/files/run') 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 } } -: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 } } -: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> -- cgit v1.2.3