about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-07-11 15:49:23 -0700
committerAlex Crichton <alex@alexcrichton.com>2018-07-11 15:49:23 -0700
commit7735f45eab4b07a3dcb359ea111911cfb9952a5c (patch)
treee599d474f11775021ca7918c2e9b714105e681c4 /src/libsyntax_ext
parent90bd83c9fca7b22056ec1ee0f00f095230bdb5c7 (diff)
downloadrust-7735f45eab4b07a3dcb359ea111911cfb9952a5c.tar.gz
rust-7735f45eab4b07a3dcb359ea111911cfb9952a5c.zip
rustc: Verify #[proc_macro] is only a word
... and perform the same verification for #[proc_macro_attribute], currently
neither of these attributes take any arguments.

Closes #52273
Diffstat (limited to 'src/libsyntax_ext')
-rw-r--r--src/libsyntax_ext/proc_macro_registrar.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libsyntax_ext/proc_macro_registrar.rs b/src/libsyntax_ext/proc_macro_registrar.rs
index ef29e5a6b02..261208556b5 100644
--- a/src/libsyntax_ext/proc_macro_registrar.rs
+++ b/src/libsyntax_ext/proc_macro_registrar.rs
@@ -200,8 +200,8 @@ impl<'a> CollectProcMacros<'a> {
     }
 
     fn collect_attr_proc_macro(&mut self, item: &'a ast::Item, attr: &'a ast::Attribute) {
-        if let Some(_) = attr.meta_item_list() {
-            self.handler.span_err(attr.span, "`#[proc_macro_attribute]` attribute
+        if !attr.is_word() {
+            self.handler.span_err(attr.span, "`#[proc_macro_attribute]` attribute \
                 does not take any arguments");
             return;
         }
@@ -223,8 +223,8 @@ impl<'a> CollectProcMacros<'a> {
     }
 
     fn collect_bang_proc_macro(&mut self, item: &'a ast::Item, attr: &'a ast::Attribute) {
-        if let Some(_) = attr.meta_item_list() {
-            self.handler.span_err(attr.span, "`#[proc_macro]` attribute
+        if !attr.is_word() {
+            self.handler.span_err(attr.span, "`#[proc_macro]` attribute \
                 does not take any arguments");
             return;
         }