diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-12-15 14:45:09 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2020-12-15 14:45:09 +0000 |
commit | bd4c352831662762ee7a66da77ec9adf623b0a0a (patch) | |
tree | 725dfad20b95344ad363b35860cf7e57067bb5e5 /xtask | |
parent | 39aae835fd70d06092c1be1add6eef3984439529 (diff) | |
parent | 479babf8740a4d3cf6fc03a5f4a2fca00d387501 (diff) |
Merge #6893
6893: Move to upstream `macro_rules!` model r=matklad a=jonas-schievink
This changes `macro_rules!` from being treated as a macro invocation to being a first-class item. It also disallows using an additional ident argument for regular macros, so `m! ident(...);` now fails to parse.
This matches upstream Rust, and makes the code somewhat simpler by removing repeated "is this a `macro_rules!` call" checks. It will also simplify allowing visibilities on macros, which is currently being proposed in https://github.com/rust-lang/rust/pull/78166.
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'xtask')
-rw-r--r-- | xtask/src/ast_src.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/xtask/src/ast_src.rs b/xtask/src/ast_src.rs index 8ceaaf60e..72a4c10f5 100644 --- a/xtask/src/ast_src.rs +++ b/xtask/src/ast_src.rs | |||
@@ -70,7 +70,7 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc { | |||
70 | "match", "mod", "move", "mut", "pub", "ref", "return", "self", "static", "struct", "super", | 70 | "match", "mod", "move", "mut", "pub", "ref", "return", "self", "static", "struct", "super", |
71 | "trait", "true", "try", "type", "unsafe", "use", "where", "while", | 71 | "trait", "true", "try", "type", "unsafe", "use", "where", "while", |
72 | ], | 72 | ], |
73 | contextual_keywords: &["auto", "default", "existential", "union", "raw"], | 73 | contextual_keywords: &["auto", "default", "existential", "union", "raw", "macro_rules"], |
74 | literals: &["INT_NUMBER", "FLOAT_NUMBER", "CHAR", "BYTE", "STRING", "BYTE_STRING"], | 74 | literals: &["INT_NUMBER", "FLOAT_NUMBER", "CHAR", "BYTE", "STRING", "BYTE_STRING"], |
75 | tokens: &[ | 75 | tokens: &[ |
76 | "ERROR", | 76 | "ERROR", |
@@ -98,6 +98,8 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc { | |||
98 | "IMPL", | 98 | "IMPL", |
99 | "TYPE_ALIAS", | 99 | "TYPE_ALIAS", |
100 | "MACRO_CALL", | 100 | "MACRO_CALL", |
101 | "MACRO_RULES", | ||
102 | "MACRO_ARM", | ||
101 | "TOKEN_TREE", | 103 | "TOKEN_TREE", |
102 | "MACRO_DEF", | 104 | "MACRO_DEF", |
103 | "PAREN_TYPE", | 105 | "PAREN_TYPE", |