-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stabilize a few secondary macro features #53459
Conversation
r? @pnkfelix (rust_highfive has picked a reviewer for you, use r? to override) |
This looks good to me, thanks! I'll defer to.. r? @nrc though because I want to make sure the |
☔ The latest upstream changes (presumably #53236) made this pull request unmergeable. Please resolve the merge conflicts. |
@bors: r+ |
📌 Commit 16380232afbe58b780565857533506e56428dfe9 has been approved by |
This needs a rebase. |
`tool_attributes`, `proc_macro_path_invoc`, partially `proc_macro_gen`
@bors r=nrc |
📌 Commit b34503e has been approved by |
Stabilize a few secondary macro features - `tool_attributes` - closes rust-lang#44690 - `proc_macro_path_invoc` - this feature was created due to issues with tool attributes (rust-lang#51277), those issues are now fixed (rust-lang#52841) - partially `proc_macro_gen` - this feature was created due to issue rust-lang#50504, the issue is now fixed (rust-lang#51952), so proc macros can generate modules. They still can't generate `macro_rules` items though due to unclear hygiene interactions.
⌛ Testing commit b34503e with merge 9b55e966a9cf8d0a172988866a6a438a8c222c60... |
💔 Test failed - status-travis |
Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@bors retry
|
Stabilize a few secondary macro features - `tool_attributes` - closes #44690 - `proc_macro_path_invoc` - this feature was created due to issues with tool attributes (#51277), those issues are now fixed (#52841) - partially `proc_macro_gen` - this feature was created due to issue #50504, the issue is now fixed (#51952), so proc macros can generate modules. They still can't generate `macro_rules` items though due to unclear hygiene interactions.
☀️ Test successful - status-appveyor, status-travis |
rustup, fix breakage introduced by rust-lang/rust#53581 and rust-lang/rust#53459
Other than that procedural macros can generate modules now (yay!), what else here that's being stabilized and needs to be documented in the reference? |
tool_attributes
- closes Tracking issue: RFC 2103 - attributes for tools #44690proc_macro_path_invoc
- this feature was created due to issues with tool attributes (tool_attributes feature stops working when rust_2018_preview feature is enabled #51277), those issues are now fixed (resolve: Implement prelude search for macro paths, implement tool attributes #52841)proc_macro_gen
- this feature was created due to issue proc_macro! expansion can refer to items defined in the root w/o importing them #50504, the issue is now fixed ( hygiene: Decouple transparencies from expansion IDs #51952), so proc macros can generate modules. They still can't generatemacro_rules
items though due to unclear hygiene interactions.