-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Remove TmpLayout in layout_of_enum #145387
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
+9
−30
Conversation
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
@bors r+ rollup |
bors
added a commit
that referenced
this pull request
Aug 29, 2025
Rollup of 9 pull requests Successful merges: - #143713 (Add a mailmap entry for gnzlbg) - #144275 (implement Sum and Product for Saturating(u*)) - #144354 (fix(std): Fix undefined reference to __my_thread_exit on QNX 8.0) - #145387 (Remove TmpLayout in layout_of_enum) - #145793 (std library: use execinfo library also on NetBSD.) - #145884 (Test `instrument-mcount` codegen) - #145947 (Add more to the `[workspace.dependencies]` section in the top-level `Cargo.toml`) - #145972 (fix `core::marker::Destruct` doc) - #145977 (tests: Ignore basic-stepping.rs on riscv64) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer
added a commit
that referenced
this pull request
Aug 29, 2025
Rollup merge of #145387 - zachs18:remove-tmplayout, r=cjgillot Remove TmpLayout in layout_of_enum 09a3846 from <#103693> made LayoutData be owned instead of interned in `Variants::Multiple::variants`[^1], so there's no need for `TmpLayout` in layout_of_enum anymore, and we can just store the variants' layouts directly in the prospective `LayoutData`s' `variants` fields. This should have no effect on semantics or layout. (written as part of #145337 but not related to the layout optimizations in that PR) [^1]: see line 1154 of `compiler/rustc_target/src/abi/mod.rs` in the linked commit; `Variants::Multiple::variants` effectively changed from `IndexVec<.., Layout<'tcx>>` to `IndexVec<.., LayoutData>` where the `LayoutData`s are not interned as `Layout`s (`LayoutData` was at the time called `LayoutS`)
Already merged. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
S-waiting-on-author
Status: This is awaiting some action (such as code changes or more information) from the author.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
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.
09a3846 from #103693 made LayoutData be owned instead of interned in
Variants::Multiple::variants
1, so there's no need forTmpLayout
in layout_of_enum anymore, and we can just store the variants' layouts directly in the prospectiveLayoutData
s'variants
fields.This should have no effect on semantics or layout.
(written as part of #145337 but not related to the layout optimizations in that PR)
Footnotes
see line 1154 of
compiler/rustc_target/src/abi/mod.rs
in the linked commit;Variants::Multiple::variants
effectively changed fromIndexVec<.., Layout<'tcx>>
toIndexVec<.., LayoutData>
where theLayoutData
s are not interned asLayout
s (LayoutData
was at the time calledLayoutS
) ↩