disallow most attrs on eiis#157312
Merged
Merged
Conversation
JonathanBrouwer
requested changes
Jun 2, 2026
Collaborator
|
Reminder, once the PR becomes ready for a review, use |
94898ec to
a492d4f
Compare
Contributor
Author
|
@rustbot review better? |
Contributor
Author
|
I don't think an exhaustive test is too useful, this just tests some of the behavior. An exhaustive test just means we duplicate the logic here and in the macro. I do recommend people to add tests if they depend on specific attrs being enabled I guess |
JonathanBrouwer
approved these changes
Jun 2, 2026
Contributor
49 tasks
|
Just one question: what if I need to define link-section or symbol-name for eii-definition, as well same for default eii-impl? Use-case: entry-points, allocators, panic, any global or layout-depending things in embedded and custom targets. |
rust-bors Bot
pushed a commit
that referenced
this pull request
Jun 2, 2026
…uwer Rollup of 6 pull requests Successful merges: - #155418 (transmute: fix check for whether newtypes have equal size) - #156603 (Clarify E0381 diagnostics for branch conditions) - #156643 (Document run-make external dependencies) - #157009 (Avoid `unreachable_code` on required return values) - #157308 (make typing mode exhaustive again...) - #157312 (disallow most attrs on eiis)
rust-bors Bot
pushed a commit
that referenced
this pull request
Jun 2, 2026
…uwer Rollup of 6 pull requests Successful merges: - #155418 (transmute: fix check for whether newtypes have equal size) - #156603 (Clarify E0381 diagnostics for branch conditions) - #156643 (Document run-make external dependencies) - #157009 (Avoid `unreachable_code` on required return values) - #157308 (make typing mode exhaustive again...) - #157312 (disallow most attrs on eiis)
rust-timer
added a commit
that referenced
this pull request
Jun 2, 2026
Rollup merge of #157312 - jdonszelmann:reject-attrs-eii, r=JonathanBrouwer disallow most attrs on eiis Most attributes do not make sense on EIIs. Whether they're copied to the macro, default, or foreign item is also highly dependent per attribute. I was thinking of ways to configure this, though I don't think we need that kind of complexity rn. For now I just reject them all, except for ones that obviously make sense or are necessary for current usage in std. user attr macros are blanket-rejected with this too, which seems good, it seems cursed to present expanded eiis to them. r? @JonathanBrouwer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Most attributes do not make sense on EIIs. Whether they're copied to the macro, default, or foreign item is also highly dependent per attribute.
I was thinking of ways to configure this, though I don't think we need that kind of complexity rn. For now I just reject them all, except for ones that obviously make sense or are necessary for current usage in std.
user attr macros are blanket-rejected with this too, which seems good, it seems cursed to present expanded eiis to them.
r? @JonathanBrouwer