about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-07-16 06:11:05 +0000
committerbors <bors@rust-lang.org>2024-07-16 06:11:05 +0000
commitb3736d687a75a029620d86a23a51bdfeb3383701 (patch)
tree0a981b9d098685e974893a38bf310172a6421ef9 /compiler/rustc_codegen_llvm/src
parent451035fff364e81cc63d15bd475da8ba32e01470 (diff)
parentfd81880c9108c4b98839d55fe29884a625f05f02 (diff)
downloadrust-b3736d687a75a029620d86a23a51bdfeb3383701.tar.gz
rust-b3736d687a75a029620d86a23a51bdfeb3383701.zip
Auto merge of #3742 - Vanille-N:master, r=RalfJung
TB: Reserved + Protected + IM + lazy is a horrible combination that should not exist

As discovered by `@JoJoDeveloping,` the result of having both Protector exceptions on lazy locations (protectors only protect initialized bytes) and interior mutability exceptions for protected tags (Reserved IM does not accept foreign writes when protected) leads to some very undesirable results, namely that we cannot do spurious writes even on protected activated locations.

We propose that Protected Reserved IM should no longer exist and instead when a type is retagged as part of a `FnEntry` it is assumed to lose interior mutability.

In fact, this was already being done implicitly because relevant transitions were guarded by an `if protected`, but the difference is that now it also applies to transitions that occur after the end of the protector.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions