Skip to content

Macros have scope - #5120

Closed
jbclements wants to merge 6 commits into
rust-lang:incomingfrom
jbclements:macros-have-scope
Closed

jbclements wants to merge 6 commits into
rust-lang:incomingfrom
jbclements:macros-have-scope

Conversation

@jbclements

Copy link
Copy Markdown
Contributor

r?

After this patch, macros declared in a module, function, or block can only be used inside of that module, function or block, with the exception of modules declared with the #[macro_escape] attribute; these modules allow macros to escape, and can be used as a limited macro export mechanism.

This pull request also includes miscellaneous comments, lots of new test cases, a few renamings, and a few as-yet-unused data definitions for hygiene.

Macro scope is now delimited by function, block, and module boundaries,
except for modules that are marked with #[macro_escape], which allows
macros to escape.
@jbclements

Copy link
Copy Markdown
Contributor Author

I believe this commit should close issues #4906 and #3114.

Comment thread src/libsyntax/ext/expand.rs Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: "evaluate"

@jbclements

Copy link
Copy Markdown
Contributor Author

r? @pcwalton : typo fixes, renamings

bors added a commit that referenced this pull request Feb 27, 2013
r?

After this patch, macros declared in a module, function, or block can only be used inside of that module, function or block, with the exception of modules declared with the #[macro_escape] attribute; these modules allow macros to escape, and can be used as a limited macro export mechanism.

This pull request also includes miscellaneous comments, lots of new test cases, a few renamings, and a few as-yet-unused data definitions for hygiene.
@bors bors closed this Feb 27, 2013
@pnkfelix pnkfelix mentioned this pull request May 7, 2013
bors added a commit to rust-lang-ci/rust that referenced this pull request May 2, 2020
…flip1995

Split up `drop_forget_ref` ui test

Part of rust-lang#2038

changelog: none
RalfJung added a commit to RalfJung/rust that referenced this pull request Jul 12, 2026
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
5120: Add a simple SSR subcommand to the rust-analyzer command line binary r=davidlattimore a=davidlattimore

Is adding the dependency on ra_ide_db OK? It's needed for the call to `db.local_roots()`

Co-authored-by: David Lattimore <dml@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants