]> git.lizzy.rs Git - rust.git/commitdiff
improve attribute trailing semicolon error
authorcsmoe <35686186+csmoe@users.noreply.github.com>
Sat, 17 Mar 2018 05:46:45 +0000 (13:46 +0800)
committercsmoe <35686186+csmoe@users.noreply.github.com>
Sat, 17 Mar 2018 13:23:41 +0000 (21:23 +0800)
src/libsyntax/parse/attr.rs
src/test/ui/issue-49040.rs [new file with mode: 0644]
src/test/ui/issue-49040.stderr [new file with mode: 0644]

index 053746b579dcb31508741c0711cee871698f3081..4c3f42d9c6b7d4c2f94406de5f05ed0e6e7843e9 100644 (file)
@@ -90,7 +90,7 @@ fn parse_attribute_with_inner_parse_policy(&mut self,
         debug!("parse_attribute_with_inner_parse_policy: inner_parse_policy={:?} self.token={:?}",
                inner_parse_policy,
                self.token);
-        let (span, path, tokens, mut style) = match self.token {
+        let (span, path, tokens, style) = match self.token {
             token::Pound => {
                 let lo = self.span;
                 self.bump();
@@ -129,15 +129,6 @@ fn parse_attribute_with_inner_parse_policy(&mut self,
             }
         };
 
-        if inner_parse_policy == InnerAttributeParsePolicy::Permitted &&
-           self.token == token::Semi {
-            self.bump();
-            self.span_warn(span,
-                           "this inner attribute syntax is deprecated. The new syntax is \
-                            `#![foo]`, with a bang and no semicolon");
-            style = ast::AttrStyle::Inner;
-        }
-
         Ok(ast::Attribute {
             id: attr::mk_attr_id(),
             style,
diff --git a/src/test/ui/issue-49040.rs b/src/test/ui/issue-49040.rs
new file mode 100644 (file)
index 0000000..866ecd9
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![allow(unused_variables)]; //~ ERROR expected item, found `;`
+fn main() {}
diff --git a/src/test/ui/issue-49040.stderr b/src/test/ui/issue-49040.stderr
new file mode 100644 (file)
index 0000000..b6f624d
--- /dev/null
@@ -0,0 +1,8 @@
+error: expected item, found `;`
+  --> $DIR/issue-49040.rs:11:28
+   |
+LL | #![allow(unused_variables)]; //~ ERROR expected item, found `;`
+   |                            ^ help: consider removing this semicolon
+
+error: aborting due to previous error
+