Skip to content

Greatly simplify the macros for flags that affect target modifiers#154501

Open
Zalathar wants to merge 2 commits intorust-lang:mainfrom
Zalathar:flag-macros
Open

Greatly simplify the macros for flags that affect target modifiers#154501
Zalathar wants to merge 2 commits intorust-lang:mainfrom
Zalathar:flag-macros

Conversation

@Zalathar
Copy link
Copy Markdown
Member

#133138 added a very complicated system of parser macros for dealing with command-line flags that affect target modifiers.

This PR takes advantage of the unstable ${ignore(..)} metavar to replace those parser macros with much simpler conditional expansions, while still producing the same functionality and API surface.

As suggested by #133138 (comment), it's possible that this functionality doesn't really need to involve macros at all. This PR doesn't go that far, but should make that change easier to perform as follow-up work.

@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 Mar 28, 2026
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Mar 28, 2026

r? @dingxiangfei2009

rustbot has assigned @dingxiangfei2009.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 69 candidates
  • Random selection from 12 candidates

This commit reformats the two main command-line-flag macros to be more regular
and readable.

Most of the changes are whitespace adjustments, but there are a few places
where braces or commas have been tweaked as well.
By using the unstable `${ignore(..)}` metavar to help perform conditional
expansion for a subset of list items, we can eliminate several complex helper
macros.
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Mar 28, 2026

This PR was rebased onto a different main 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants