diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-10-11 21:00:09 +0200 |
|---|---|---|
| committer | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-11-09 02:04:24 +0100 |
| commit | 5011ec7fedffe34d943654ffb4308875fc5ec8f3 (patch) | |
| tree | e3fd7fb355643dd09c242a1020ad0eae9580d974 /src/libsyntax_expand | |
| parent | 9e346646e93cc243567e27bb0f4e8716d56ad1f1 (diff) | |
| download | rust-5011ec7fedffe34d943654ffb4308875fc5ec8f3.tar.gz rust-5011ec7fedffe34d943654ffb4308875fc5ec8f3.zip | |
move attr meta grammar to parse::validate_atr + ast_validation
Diffstat (limited to 'src/libsyntax_expand')
| -rw-r--r-- | src/libsyntax_expand/expand.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libsyntax_expand/expand.rs b/src/libsyntax_expand/expand.rs index 516b284cecd..d0b60fa308d 100644 --- a/src/libsyntax_expand/expand.rs +++ b/src/libsyntax_expand/expand.rs @@ -14,6 +14,7 @@ use syntax::feature_gate::{self, Features, GateIssue, is_builtin_attr, emit_feat use syntax::mut_visit::*; use syntax::parse::DirectoryOwnership; use syntax::parse::parser::Parser; +use syntax::parse::validate_attr; use syntax::print::pprust; use syntax::ptr::P; use syntax::sess::ParseSess; @@ -640,7 +641,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> { self.parse_ast_fragment(tok_result, fragment_kind, &item.path, span) } SyntaxExtensionKind::LegacyAttr(expander) => { - match attr.parse_meta(self.cx.parse_sess) { + match validate_attr::parse_meta(self.cx.parse_sess, &attr) { Ok(meta) => { let item = expander.expand(self.cx, span, &meta, item); fragment_kind.expect_from_annotatables(item) @@ -1031,6 +1032,7 @@ impl<'a, 'b> InvocationCollector<'a, 'b> { let features = self.cx.ecfg.features.unwrap(); for attr in attrs.iter() { feature_gate::check_attribute(attr, self.cx.parse_sess, features); + validate_attr::check_meta(self.cx.parse_sess, attr); // macros are expanded before any lint passes so this warning has to be hardcoded if attr.has_name(sym::derive) { |
