From ea8ae48c18eb558ac9e9bbf6a131ebeeec72dbdb Mon Sep 17 00:00:00 2001 From: Simon Ochsenreither Date: Mon, 9 Dec 2013 01:12:55 +0100 Subject: SI-8052 Disallow `macro` as an identifier Note that the change could look a lot cleaner, at the cost of returning more generic error messages. I decided that at least for 2.11 I'll keep scalac remembering that macro was a standard identifier name once, so that we can point out more precisely what's wrong with users' code. --- test/files/neg/macro-deprecate-idents.check | 53 ++++++++++++++++++----------- 1 file changed, 33 insertions(+), 20 deletions(-) (limited to 'test/files') diff --git a/test/files/neg/macro-deprecate-idents.check b/test/files/neg/macro-deprecate-idents.check index c653eabaef..c5902aeea6 100644 --- a/test/files/neg/macro-deprecate-idents.check +++ b/test/files/neg/macro-deprecate-idents.check @@ -1,54 +1,67 @@ -macro-deprecate-idents.scala:2: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:2: error: macro is now a reserved word; usage as an identifier is disallowed val macro = ??? ^ -macro-deprecate-idents.scala:6: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:6: error: macro is now a reserved word; usage as an identifier is disallowed var macro = ??? ^ -macro-deprecate-idents.scala:10: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:10: error: macro is now a reserved word; usage as an identifier is disallowed type macro = Int ^ -macro-deprecate-idents.scala:14: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:14: error: macro is now a reserved word; usage as an identifier is disallowed class macro ^ -macro-deprecate-idents.scala:18: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:18: error: macro is now a reserved word; usage as an identifier is disallowed class macro ^ -macro-deprecate-idents.scala:22: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:22: error: macro is now a reserved word; usage as an identifier is disallowed object macro ^ -macro-deprecate-idents.scala:26: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:26: error: macro is now a reserved word; usage as an identifier is disallowed object macro ^ -macro-deprecate-idents.scala:30: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:30: error: macro is now a reserved word; usage as an identifier is disallowed trait macro ^ -macro-deprecate-idents.scala:34: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:34: error: macro is now a reserved word; usage as an identifier is disallowed trait macro ^ -macro-deprecate-idents.scala:37: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:37: error: macro is now a reserved word; usage as an identifier is disallowed package macro { ^ -macro-deprecate-idents.scala:38: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:38: error: macro is now a reserved word; usage as an identifier is disallowed package macro.bar { ^ -macro-deprecate-idents.scala:43: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:43: error: macro is now a reserved word; usage as an identifier is disallowed package macro.foo { ^ -macro-deprecate-idents.scala:48: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:48: error: macro is now a reserved word; usage as an identifier is disallowed val Some(macro) = Some(42) ^ -macro-deprecate-idents.scala:49: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:49: error: macro is now a reserved word; usage as an identifier is disallowed macro match { ^ -macro-deprecate-idents.scala:50: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:50: error: macro is now a reserved word; usage as an identifier is disallowed case macro => println(macro) ^ -macro-deprecate-idents.scala:50: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:50: error: macro is now a reserved word; usage as an identifier is disallowed case macro => println(macro) ^ -macro-deprecate-idents.scala:55: warning: macro is now a reserved word; usage as an identifier is deprecated +macro-deprecate-idents.scala:55: error: macro is now a reserved word; usage as an identifier is disallowed def macro = 2 ^ -error: No warnings can be incurred under -Xfatal-warnings. -17 warnings found -one error found +macro-deprecate-idents.scala:3: error: '=' expected but '}' found. +} +^ +macro-deprecate-idents.scala:7: error: '=' expected but '}' found. +} +^ +macro-deprecate-idents.scala:42: error: '{' expected but ';' found. +package foo { +^ +macro-deprecate-idents.scala:45: error: '{' expected but '}' found. +} +^ +macro-deprecate-idents.scala:52: error: ')' expected but '}' found. +} +^ +22 errors found -- cgit v1.2.3