Skip to content

Conversation

tgross35
Copy link
Contributor

@tgross35 tgross35 commented Jun 18, 2025

Since rust-lang/rust#128425, the fragment specifier is unconditionally required in all
editions. This means NonTerminalKind no longer needs to be optional,
as we can reject this code during the expansion of macro_rules! rather
than handling it throughout the code. Do this cleanup here.

r? @petrochenkov

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 18, 2025
@tgross35 tgross35 force-pushed the nonoptional-fragment-specifiers-cleanup branch from 91218e6 to 093240b Compare June 18, 2025 04:36
@tgross35
Copy link
Contributor Author

Can be reviewed by-commit, the first commit is just refactoring a heavily nested function.

@tgross35 tgross35 force-pushed the nonoptional-fragment-specifiers-cleanup branch from 093240b to 2cff3c2 Compare June 18, 2025 04:46
@tgross35 tgross35 force-pushed the nonoptional-fragment-specifiers-cleanup branch from 2cff3c2 to 1ddb1c4 Compare June 18, 2025 07:18
@petrochenkov petrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 18, 2025
tgross35 added 3 commits June 24, 2025 04:37
Non-functional change to simplify control flow.
Since [1], the fragment specifier is unconditionally required in all
editions. This means `NonTerminalKind` no longer needs to be optional,
as we can reject this code during the expansion of `macro_rules!` rather
than handling it throughout the code. Do this cleanup here.

[1]: rust-lang#128425
`tt` should match more, so use this for both missing and invalid
fragment specifiers.

Also remove one unneeded instance of `String`.
@tgross35 tgross35 force-pushed the nonoptional-fragment-specifiers-cleanup branch from 1ddb1c4 to b9e9be3 Compare June 24, 2025 08:38
@tgross35 tgross35 changed the title macros: Clean up code with non-optional NonterminalKind mbe: Clean up code with non-optional NonterminalKind Jun 24, 2025
@tgross35
Copy link
Contributor Author

Switched to use TT as the fallback for invalid fragment specifiers as well, I think that's all.

@rustbot review

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 24, 2025
@petrochenkov
Copy link
Contributor

@bors r+

@bors
Copy link
Collaborator

bors commented Jun 24, 2025

📌 Commit cd5de49 has been approved by petrochenkov

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 24, 2025
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Jun 24, 2025
…ifiers-cleanup, r=petrochenkov

mbe: Clean up code with non-optional `NonterminalKind`

Since [rust-lang#128425], the fragment specifier is unconditionally required in all
editions. This means `NonTerminalKind` no longer needs to be optional,
as we can reject this code during the expansion of `macro_rules!` rather
than handling it throughout the code. Do this cleanup here.

[rust-lang#128425]: rust-lang#128425
bors added a commit that referenced this pull request Jun 24, 2025
Rollup of 9 pull requests

Successful merges:

 - #142645 (Also emit suggestions for usages in the `non_upper_case_globals` lint)
 - #142657 (mbe: Clean up code with non-optional `NonterminalKind`)
 - #142799 (rustc_session: Add a structure for keeping both explicit and default sysroots)
 - #142805 (Emit a single error when importing a path with `_`)
 - #142882 (Lazy init diagnostics-only local_names in borrowck)
 - #142883 (Add impl_trait_in_bindings tests from #61773)
 - #142943 (Don't include current rustc version string in feature removed help)
 - #142965 ([RTE-497] Ignore `c-link-to-rust-va-list-fn` test on SGX platform)
 - #142972 (Add a missing mailmap entry)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 9f384c4 into rust-lang:master Jun 25, 2025
10 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jun 25, 2025
rust-timer added a commit that referenced this pull request Jun 25, 2025
Rollup merge of #142657 - tgross35:nonoptional-fragment-specifiers-cleanup, r=petrochenkov

mbe: Clean up code with non-optional `NonterminalKind`

Since [#128425], the fragment specifier is unconditionally required in all
editions. This means `NonTerminalKind` no longer needs to be optional,
as we can reject this code during the expansion of `macro_rules!` rather
than handling it throughout the code. Do this cleanup here.

[#128425]: #128425
@tgross35 tgross35 deleted the nonoptional-fragment-specifiers-cleanup branch June 25, 2025 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants