diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-07-11 15:49:23 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2018-07-11 15:49:23 -0700 |
| commit | 7735f45eab4b07a3dcb359ea111911cfb9952a5c (patch) | |
| tree | e599d474f11775021ca7918c2e9b714105e681c4 /src/libsyntax_ext | |
| parent | 90bd83c9fca7b22056ec1ee0f00f095230bdb5c7 (diff) | |
| download | rust-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.rs | 8 |
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; } |
