-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Tracking issue for -Z randomize-layout
#106764
Labels
-Zrandomize-layout
Unstable option: Randomize the layout of types.
A-CLI
Area: Command-line interface (CLI) to the compiler
A-layout
Area: Memory layout of types
C-tracking-issue
Category: An issue tracking the progress of sth. like the implementation of an RFC
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
dtolnay
added
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
C-tracking-issue
Category: An issue tracking the progress of sth. like the implementation of an RFC
A-layout
Area: Memory layout of types
labels
Jan 12, 2023
This was referenced Jan 12, 2023
This comment was marked as resolved.
This comment was marked as resolved.
workingjubilee
added
A-CLI
Area: Command-line interface (CLI) to the compiler
-Zrandomize-layout
Unstable option: Randomize the layout of types.
labels
Mar 5, 2023
This was referenced Aug 31, 2024
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
Nov 24, 2024
`-Zrandomize-layout` harder. `Foo<T> != Foo<U>` Tracking issue: rust-lang#106764 Previously randomize-layout only used a deterministic shuffle based on the seed stored in an Adt's ReprOptions, meaning that `Foo<T>` and `Foo<U>` were shuffled by the same seed. This change adds a similar seed to each calculated LayoutData so that a struct can be randomized both based on the layout of its fields and its per-type seed. Primitives start with simple seed derived from some of their properties. Though some types can no longer be distinguished at that point, e.g. usize and u64 will still be treated the same.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Dec 3, 2024
… r=jieyouxu document -Zrandomize-layout in the unstable book tracking issue: rust-lang#106764 fixes rust-lang#130462
jhpratt
added a commit
to jhpratt/rust
that referenced
this issue
Dec 3, 2024
… r=jieyouxu document -Zrandomize-layout in the unstable book tracking issue: rust-lang#106764 fixes rust-lang#130462
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Dec 3, 2024
… r=jieyouxu document -Zrandomize-layout in the unstable book tracking issue: rust-lang#106764 fixes rust-lang#130462
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Dec 3, 2024
… r=jieyouxu document -Zrandomize-layout in the unstable book tracking issue: rust-lang#106764 fixes rust-lang#130462
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
-Zrandomize-layout
Unstable option: Randomize the layout of types.
A-CLI
Area: Command-line interface (CLI) to the compiler
A-layout
Area: Memory layout of types
C-tracking-issue
Category: An issue tracking the progress of sth. like the implementation of an RFC
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
This is a tracking issue for the unstable rustc flag
-Zrandomize-layout
. (rust-lang/compiler-team#457)About tracking issues
Tracking issues are used to record the overall progress of implementation. They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions. A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature. Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Steps
Unresolved Questions
Implementation history
-Zrandomize-layout
flag to better detect code that rely on unspecified behavior related to memory layout #77316-Z randomize-layout
flag compiler-team#457-Z randomize-layout
#91932-Z randomize-layout
#97861-Zrandomize-layout
harder.Foo<T> != Foo<U>
#133088The text was updated successfully, but these errors were encountered: