syntax: Unify macro and attribute arguments in AST#66935
syntax: Unify macro and attribute arguments in AST#66935bors merged 6 commits intorust-lang:masterfrom
Conversation
|
TODO (not in this PR):
|
|
Oh, this PR also basically implements "macro constants" in terms of representation (except they are still an error during parsing). |
|
@bors try @rust-timer queue |
|
Awaiting bors try build completion |
|
⌛ Trying commit eadf48aec3e87d05c7101a92612ad094c4e0ea92 with merge 6858a2a7cb74e10251ba66cd547b555717bfaff2... |
Centril
left a comment
There was a problem hiding this comment.
Looks good; some minor nits is all I have.
|
☀️ Try build successful - checks-azure |
|
Queued 6858a2a7cb74e10251ba66cd547b555717bfaff2 with parent 4007d4e, future comparison URL. |
|
Finished benchmarking try commit 6858a2a7cb74e10251ba66cd547b555717bfaff2, comparison URL. |
|
A very slight performance improvement. |
Also remove a couple of redundant `visit_mac` asserts
eadf48a to
498737c
Compare
|
Updated. |
|
Thanks! @bors r+ |
|
📌 Commit 498737c has been approved by |
syntax: Unify macro and attribute arguments in AST The unified form (`ast::MacArgs`) represents parsed arguments instead of an unstructured token stream that was previously used for attributes. It also tracks some spans and delimiter kinds better for fn-like macros and macro definitions. I've been talking about implementing this with @nnethercote in rust-lang#65750 (comment). The parsed representation is closer to `MetaItem` and requires less token juggling during conversions, so it potentially may be faster. r? @Centril
syntax: Unify macro and attribute arguments in AST The unified form (`ast::MacArgs`) represents parsed arguments instead of an unstructured token stream that was previously used for attributes. It also tracks some spans and delimiter kinds better for fn-like macros and macro definitions. I've been talking about implementing this with @nnethercote in rust-lang#65750 (comment). The parsed representation is closer to `MetaItem` and requires less token juggling during conversions, so it potentially may be faster. r? @Centril
Rollup of 6 pull requests Successful merges: - #66148 (Show the sign for signed ops on `exact_div`) - #66651 (Add `enclosing scope` parameter to `rustc_on_unimplemented`) - #66904 (Adding docs for keyword match, move) - #66935 (syntax: Unify macro and attribute arguments in AST) - #66941 (Remove `ord` lang item) - #66967 (Remove hack for top-level or-patterns in match checking) Failed merges: r? @ghost
Rustup Included rustups: - rust-lang/rust#66935 (syntax: Unify macro and attribute arguments in AST) - rust-lang/rust#66941 (Remove `ord` lang item) Fixes? #2597 changelog: none
The unified form (
ast::MacArgs) represents parsed arguments instead of an unstructured token stream that was previously used for attributes.It also tracks some spans and delimiter kinds better for fn-like macros and macro definitions.
I've been talking about implementing this with @nnethercote in #65750 (comment).
The parsed representation is closer to
MetaItemand requires less token juggling during conversions, so it potentially may be faster.r? @Centril