-
Notifications
You must be signed in to change notification settings - Fork 13k
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
resolve/hygiene: macro_rules
are not "legacy"
#69989
Conversation
This seems like a good idea, much clearer! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me on the renaming diff if nobody disagrees on the choices themselves
@bors r=eddyb,matthewjasper |
📌 Commit 7a1ecace75e29b8145ce8642b7b70e87728b74f3 has been approved by |
☔ The latest upstream changes (presumably #70024) made this pull request unmergeable. Please resolve the merge conflicts. |
`modern_and_legacy` -> `normalize_to_macro_rules`
@bors r=eddyb,matthewjasper |
📌 Commit db638bd has been approved by |
Rollup of 7 pull requests Successful merges: - #67335 (Refactor the `Qualif` trait) - #69122 (Backtrace Debug tweaks) - #69520 (Make error message clearer about creating new module) - #69738 (More Method -> AssocFn renaming) - #69867 (Add long error explanation for E0628 ) - #69989 (resolve/hygiene: `macro_rules` are not "legacy") - #70036 (Make article_and_description primarily use def_kind) Failed merges: r? @ghost
The "modern" vs "legacy" naming was introduced by jseyfried during initial implementation of macros 2.0.
At this point it's clear that
macro_rules
are not going anywhere and won't be deprecated in the near future.So this PR changes the naming "legacy" (when it implies "macro_rules") to "macro_rules".
This should also help people reading this code because it's wasn't obvious that "legacy" actually meant "macro_rules" in these contexts.
The most contentious renaming here is probably
Other alternatives that I could think of are
normalize_to_opaque
/normalize_to_semitransparent
, orstrip_non_opaque
/strip_transparent
, but they seemed less intuitive.The documentation to these functions can be found in
symbol.rs
.r? @matthewjasper