diff options
| author | bors <bors@rust-lang.org> | 2022-10-29 16:12:23 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-10-29 16:12:23 +0000 |
| commit | c162fd36d250f1a76e00ffa55b9d827d0db7e0bc (patch) | |
| tree | fe3478b4a2f6d4698860242bce914c5b9c67065b /compiler/rustc_codegen_llvm/src/llvm/mod.rs | |
| parent | 79a48ce71686a5a82cb000062915157170e16d61 (diff) | |
| parent | 1470e9924460b299ce597ef9001e5e3f7549a8b8 (diff) | |
| download | rust-c162fd36d250f1a76e00ffa55b9d827d0db7e0bc.tar.gz rust-c162fd36d250f1a76e00ffa55b9d827d0db7e0bc.zip | |
Auto merge of #2636 - RalfJung:scalar-field-retag, r=oli-obk
Stacked Borrows: make scalar field retagging the default I think it is time to finally close this soundness gap. Any objections? :) Unfortunately the latest released versions of hashbrown and scopeguard can fail under full field retagging. The fixes have landed in the git repos but have not been released yet. I don't know if scalar field retagging as enabled by this PR is sufficient to cause problems with these crates, but it seems likely that this would be the case -- e.g. if both `value` and `dropfn` are scalars, the entire scopeguard struct will be a `ScalarPair` and thus get field retagging. However, given that we actually generate LLVM `noalias` for these cases, it seems prudent to inform users of this risk. They can easily set `-Zmiri-field-retag=none` to opt-out of this change. Cc https://github.com/rust-lang/miri/issues/2528
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm/mod.rs')
0 files changed, 0 insertions, 0 deletions
