about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/codegen_attrs.rs
diff options
context:
space:
mode:
authornils <48135649+Nilstrieb@users.noreply.github.com>2023-03-21 13:00:25 +0100
committerGitHub <noreply@github.com>2023-03-21 13:00:25 +0100
commit925fbcdf8a1646d5318e82c6d3ffeda41a10a110 (patch)
tree6253002cc0f9d198fe8747567aee1dd07636379b /compiler/rustc_codegen_ssa/src/codegen_attrs.rs
parentb2e48edded0955ed95c1824e8ec7ab48694c7f16 (diff)
parent5058cc8e62f1557f684d90ff0dde7cedc6c5d529 (diff)
downloadrust-925fbcdf8a1646d5318e82c6d3ffeda41a10a110.tar.gz
rust-925fbcdf8a1646d5318e82c6d3ffeda41a10a110.zip
Rollup merge of #109408 - RalfJung:retags, r=compiler-errors
not *all* retags might be explicit in Runtime MIR

In https://github.com/rust-lang/rust/pull/105317 I made Miri treat `Rvalue::Ref/AddrOf` as implicit retagging sites. This updates the MIR docs accordingly.

For `Rvalue::Ref` I think this makes a lot more sense: creating a new reference is their entire point, so we can avoid bloating the MIR with retags. Also this seems to be the best way to handle cases like `*ptr = &[mut] ...`, where doing a retag is somewhat questionable since maybe `*ptr` points to another place now?

For `Rvalue::AddrOf`, Stacked Borrows needs this because even raw ptrs need some retagging, but Tree Borrows doesn't do ant retagging here and I hope we'll end up with a model where raw pointers don't get retagged.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/codegen_attrs.rs')
0 files changed, 0 insertions, 0 deletions