Skip to content

Conversation

@ehuss
Copy link
Contributor

@ehuss ehuss commented Jun 30, 2025

New rules:

  • macro.decl.scope.macro_export.syntax
  • macro.decl.scope.macro_export.allowed-positions
  • macro.decl.scope.macro_export.duplicates
  • macro.decl.scope.macro_export.path-based
  • macro.decl.scope.macro_export.macro_use

Renamed rules:

  • macro.decl.scope.path is now macro.decl.scope.macro_export
  • macro.decl.scope.path.intro is now macro.decl.scope.macro_export.intro
  • macro.decl.scope.path.export is now macro.decl.scope.macro_export.export
  • macro.decl.hygiene.local_inner_macros is now macro.decl.scope.macro_export.local_inner_macros

@rustbot rustbot added the S-waiting-on-review Status: The marked PR is awaiting review from a maintainer label Jun 30, 2025
@rustbot

This comment has been minimized.

@rustbot

This comment has been minimized.

@rustbot

This comment has been minimized.

ehuss and others added 10 commits October 20, 2025 03:37
This renames the section title to "The `macro_export` attribute" to
follow the attribute template. Although I like the old title, since it
describes what it does, I would prefer to not make exceptions and stay
consistent.
Rewording to follow the template, and to try to be a little clearer.
This adds more rules to be a little more explicit about the behavior,
along with some examples.
This moves it to the macro_export section (since it is part of that
macro).

There are slight wording differences. One new addition is to clarify
that it only works for single-segment paths.
In addition to some editorial clean-ups, let's add an example
demonstrating the difference between textual-only scope and path-based
resolution, and let's move some verbiage about intended use into an
admonition.
@rustbot
Copy link
Collaborator

rustbot commented Oct 20, 2025

This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@traviscross traviscross added this pull request to the merge queue Oct 21, 2025
Merged via the queue into rust-lang:master with commit 182f2c6 Oct 21, 2025
5 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: The marked PR is awaiting review from a maintainer label Oct 21, 2025
Zalathar added a commit to Zalathar/rust that referenced this pull request Nov 4, 2025
Update books

## rust-lang/book

6 commits in af415fc6c8a6823dfb4595074f27d5a3e9e2fe49..f660f341887c8bbcd6c24fbfdf5d2a262f523965
2025-10-28 01:41:51 UTC to 2025-10-24 15:39:51 UTC

- Update to Rust 1.90 (rust-lang/book#4545)
- Update to Rust 1.89 (rust-lang/book#4544)
- Update to Rust 1.88 (rust-lang/book#4543)
- Update to Rust 1.87 (rust-lang/book#4542)
- Update to Rust 1.86 (rust-lang/book#4541)
- Remove unused subheadings (rust-lang/book#4538)

## rust-lang/edition-guide

1 commits in e2ed891f00361efc26616d82590b1c85d7a8920e..5c621253d8f2a5a4adb64a6365905db67dffe3a2
2025-10-23 14:13:01 UTC to 2025-10-23 14:13:01 UTC

- Add back the link for never_type_fallback_flowing_into_unsafe (rust-lang/edition-guide#378)

## rust-lang/reference

12 commits in 752eab01cebdd6a2d90b53087298844c251859a1..e122eefff3fef362eb7e0c08fb7ffbf5f9461905
2025-10-28 20:52:27 UTC to 2025-10-21 19:42:06 UTC

- Remove custom redirect scripts (rust-lang/reference#2065)
- Avoid specifying "last import wins" for MBEs (rust-lang/reference#2057)
- Add caveats about mutable references in consts (rust-lang/reference#2058)
- Move punctuation index to an appendix, and expand for other syntaxes (rust-lang/reference#2061)
- Use American spelling for "labeled" (rust-lang/reference#2066)
- Remove rules from names intro (rust-lang/reference#2060)
- Minor adjustments to inner/outer attribute definitions (rust-lang/reference#2059)
- Change underscore to be a keyword (rust-lang/reference#2049)
- Update `proc_macro_attribute` to use the attribute template (rust-lang/reference#1889)
- Update `proc_macro` to use the attribute template (rust-lang/reference#1887)
- Update `macro_use` to use the attribute template (rust-lang/reference#1886)
- Update `macro_export` to use the attribute template (rust-lang/reference#1885)

## rust-lang/rust-by-example

7 commits in 2c9b490d70e535cf166bf17feba59e594579843f..160e6bbca70b0c01aa4de88d19db7fc5ff8447c3
2025-11-03 12:26:45 UTC to 2025-10-22 13:19:06 UTC

- Fix typos in flow_control/match/binding (rust-lang/rust-by-example#1971)
- add clarification on overflowing_literals lint (rust-lang/rust-by-example#1970)
- Update enum_use.md (rust-lang/rust-by-example#1960)
- Remove weird extra spaces in code (rust-lang/rust-by-example#1962)
- Include a link to The Rust Reference in flow_control/match/destructuring (rust-lang/rust-by-example#1963)
- Add an example showing pattern binding when matching several values in a match arm (rust-lang/rust-by-example#1966)
- Fix typo in linked list length calculation comment (rust-lang/rust-by-example#1968)
Zalathar added a commit to Zalathar/rust that referenced this pull request Nov 4, 2025
Update books

## rust-lang/book

6 commits in af415fc6c8a6823dfb4595074f27d5a3e9e2fe49..f660f341887c8bbcd6c24fbfdf5d2a262f523965
2025-10-28 01:41:51 UTC to 2025-10-24 15:39:51 UTC

- Update to Rust 1.90 (rust-lang/book#4545)
- Update to Rust 1.89 (rust-lang/book#4544)
- Update to Rust 1.88 (rust-lang/book#4543)
- Update to Rust 1.87 (rust-lang/book#4542)
- Update to Rust 1.86 (rust-lang/book#4541)
- Remove unused subheadings (rust-lang/book#4538)

## rust-lang/edition-guide

1 commits in e2ed891f00361efc26616d82590b1c85d7a8920e..5c621253d8f2a5a4adb64a6365905db67dffe3a2
2025-10-23 14:13:01 UTC to 2025-10-23 14:13:01 UTC

- Add back the link for never_type_fallback_flowing_into_unsafe (rust-lang/edition-guide#378)

## rust-lang/reference

12 commits in 752eab01cebdd6a2d90b53087298844c251859a1..e122eefff3fef362eb7e0c08fb7ffbf5f9461905
2025-10-28 20:52:27 UTC to 2025-10-21 19:42:06 UTC

- Remove custom redirect scripts (rust-lang/reference#2065)
- Avoid specifying "last import wins" for MBEs (rust-lang/reference#2057)
- Add caveats about mutable references in consts (rust-lang/reference#2058)
- Move punctuation index to an appendix, and expand for other syntaxes (rust-lang/reference#2061)
- Use American spelling for "labeled" (rust-lang/reference#2066)
- Remove rules from names intro (rust-lang/reference#2060)
- Minor adjustments to inner/outer attribute definitions (rust-lang/reference#2059)
- Change underscore to be a keyword (rust-lang/reference#2049)
- Update `proc_macro_attribute` to use the attribute template (rust-lang/reference#1889)
- Update `proc_macro` to use the attribute template (rust-lang/reference#1887)
- Update `macro_use` to use the attribute template (rust-lang/reference#1886)
- Update `macro_export` to use the attribute template (rust-lang/reference#1885)

## rust-lang/rust-by-example

7 commits in 2c9b490d70e535cf166bf17feba59e594579843f..160e6bbca70b0c01aa4de88d19db7fc5ff8447c3
2025-11-03 12:26:45 UTC to 2025-10-22 13:19:06 UTC

- Fix typos in flow_control/match/binding (rust-lang/rust-by-example#1971)
- add clarification on overflowing_literals lint (rust-lang/rust-by-example#1970)
- Update enum_use.md (rust-lang/rust-by-example#1960)
- Remove weird extra spaces in code (rust-lang/rust-by-example#1962)
- Include a link to The Rust Reference in flow_control/match/destructuring (rust-lang/rust-by-example#1963)
- Add an example showing pattern binding when matching several values in a match arm (rust-lang/rust-by-example#1966)
- Fix typo in linked list length calculation comment (rust-lang/rust-by-example#1968)
Zalathar added a commit to Zalathar/rust that referenced this pull request Nov 4, 2025
Update books

## rust-lang/book

6 commits in af415fc6c8a6823dfb4595074f27d5a3e9e2fe49..f660f341887c8bbcd6c24fbfdf5d2a262f523965
2025-10-28 01:41:51 UTC to 2025-10-24 15:39:51 UTC

- Update to Rust 1.90 (rust-lang/book#4545)
- Update to Rust 1.89 (rust-lang/book#4544)
- Update to Rust 1.88 (rust-lang/book#4543)
- Update to Rust 1.87 (rust-lang/book#4542)
- Update to Rust 1.86 (rust-lang/book#4541)
- Remove unused subheadings (rust-lang/book#4538)

## rust-lang/edition-guide

1 commits in e2ed891f00361efc26616d82590b1c85d7a8920e..5c621253d8f2a5a4adb64a6365905db67dffe3a2
2025-10-23 14:13:01 UTC to 2025-10-23 14:13:01 UTC

- Add back the link for never_type_fallback_flowing_into_unsafe (rust-lang/edition-guide#378)

## rust-lang/reference

12 commits in 752eab01cebdd6a2d90b53087298844c251859a1..e122eefff3fef362eb7e0c08fb7ffbf5f9461905
2025-10-28 20:52:27 UTC to 2025-10-21 19:42:06 UTC

- Remove custom redirect scripts (rust-lang/reference#2065)
- Avoid specifying "last import wins" for MBEs (rust-lang/reference#2057)
- Add caveats about mutable references in consts (rust-lang/reference#2058)
- Move punctuation index to an appendix, and expand for other syntaxes (rust-lang/reference#2061)
- Use American spelling for "labeled" (rust-lang/reference#2066)
- Remove rules from names intro (rust-lang/reference#2060)
- Minor adjustments to inner/outer attribute definitions (rust-lang/reference#2059)
- Change underscore to be a keyword (rust-lang/reference#2049)
- Update `proc_macro_attribute` to use the attribute template (rust-lang/reference#1889)
- Update `proc_macro` to use the attribute template (rust-lang/reference#1887)
- Update `macro_use` to use the attribute template (rust-lang/reference#1886)
- Update `macro_export` to use the attribute template (rust-lang/reference#1885)

## rust-lang/rust-by-example

7 commits in 2c9b490d70e535cf166bf17feba59e594579843f..160e6bbca70b0c01aa4de88d19db7fc5ff8447c3
2025-11-03 12:26:45 UTC to 2025-10-22 13:19:06 UTC

- Fix typos in flow_control/match/binding (rust-lang/rust-by-example#1971)
- add clarification on overflowing_literals lint (rust-lang/rust-by-example#1970)
- Update enum_use.md (rust-lang/rust-by-example#1960)
- Remove weird extra spaces in code (rust-lang/rust-by-example#1962)
- Include a link to The Rust Reference in flow_control/match/destructuring (rust-lang/rust-by-example#1963)
- Add an example showing pattern binding when matching several values in a match arm (rust-lang/rust-by-example#1966)
- Fix typo in linked list length calculation comment (rust-lang/rust-by-example#1968)
rust-timer added a commit to rust-lang/rust that referenced this pull request Nov 4, 2025
Rollup merge of #148448 - rustbot:docs-update, r=ehuss

Update books

## rust-lang/book

6 commits in af415fc6c8a6823dfb4595074f27d5a3e9e2fe49..f660f341887c8bbcd6c24fbfdf5d2a262f523965
2025-10-28 01:41:51 UTC to 2025-10-24 15:39:51 UTC

- Update to Rust 1.90 (rust-lang/book#4545)
- Update to Rust 1.89 (rust-lang/book#4544)
- Update to Rust 1.88 (rust-lang/book#4543)
- Update to Rust 1.87 (rust-lang/book#4542)
- Update to Rust 1.86 (rust-lang/book#4541)
- Remove unused subheadings (rust-lang/book#4538)

## rust-lang/edition-guide

1 commits in e2ed891f00361efc26616d82590b1c85d7a8920e..5c621253d8f2a5a4adb64a6365905db67dffe3a2
2025-10-23 14:13:01 UTC to 2025-10-23 14:13:01 UTC

- Add back the link for never_type_fallback_flowing_into_unsafe (rust-lang/edition-guide#378)

## rust-lang/reference

12 commits in 752eab01cebdd6a2d90b53087298844c251859a1..e122eefff3fef362eb7e0c08fb7ffbf5f9461905
2025-10-28 20:52:27 UTC to 2025-10-21 19:42:06 UTC

- Remove custom redirect scripts (rust-lang/reference#2065)
- Avoid specifying "last import wins" for MBEs (rust-lang/reference#2057)
- Add caveats about mutable references in consts (rust-lang/reference#2058)
- Move punctuation index to an appendix, and expand for other syntaxes (rust-lang/reference#2061)
- Use American spelling for "labeled" (rust-lang/reference#2066)
- Remove rules from names intro (rust-lang/reference#2060)
- Minor adjustments to inner/outer attribute definitions (rust-lang/reference#2059)
- Change underscore to be a keyword (rust-lang/reference#2049)
- Update `proc_macro_attribute` to use the attribute template (rust-lang/reference#1889)
- Update `proc_macro` to use the attribute template (rust-lang/reference#1887)
- Update `macro_use` to use the attribute template (rust-lang/reference#1886)
- Update `macro_export` to use the attribute template (rust-lang/reference#1885)

## rust-lang/rust-by-example

7 commits in 2c9b490d70e535cf166bf17feba59e594579843f..160e6bbca70b0c01aa4de88d19db7fc5ff8447c3
2025-11-03 12:26:45 UTC to 2025-10-22 13:19:06 UTC

- Fix typos in flow_control/match/binding (rust-lang/rust-by-example#1971)
- add clarification on overflowing_literals lint (rust-lang/rust-by-example#1970)
- Update enum_use.md (rust-lang/rust-by-example#1960)
- Remove weird extra spaces in code (rust-lang/rust-by-example#1962)
- Include a link to The Rust Reference in flow_control/match/destructuring (rust-lang/rust-by-example#1963)
- Add an example showing pattern binding when matching several values in a match arm (rust-lang/rust-by-example#1966)
- Fix typo in linked list length calculation comment (rust-lang/rust-by-example#1968)
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