about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2024-08-31 11:29:02 +0200
committerRalf Jung <post@ralfj.de>2024-08-31 11:29:02 +0200
commitd0aedfbb900309bb633b3ba04bf008183cfdd9a7 (patch)
treebd27610dc20d985b99393191d4a0369390b625e8 /compiler/rustc_mir_transform/src
parentfa72f0763de6bc1596208fc1419883ce5aea0de4 (diff)
downloadrust-d0aedfbb900309bb633b3ba04bf008183cfdd9a7.tar.gz
rust-d0aedfbb900309bb633b3ba04bf008183cfdd9a7.zip
interpret, codegen: tweak some comments and checks regarding Box with custom allocator
Diffstat (limited to 'compiler/rustc_mir_transform/src')
-rw-r--r--compiler/rustc_mir_transform/src/add_retag.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/rustc_mir_transform/src/add_retag.rs b/compiler/rustc_mir_transform/src/add_retag.rs
index 12a68790374..79bc21cab14 100644
--- a/compiler/rustc_mir_transform/src/add_retag.rs
+++ b/compiler/rustc_mir_transform/src/add_retag.rs
@@ -137,6 +137,8 @@ impl<'tcx> MirPass<'tcx> for AddRetag {
                                 // Using `is_box_global` here is a bit sketchy: if this code is
                                 // generic over the allocator, we'll not add a retag! This is a hack
                                 // to make Stacked Borrows compatible with custom allocator code.
+                                // It means the raw pointer inherits the tag of the box, which mostly works
+                                // but can sometimes lead to unexpected aliasing errors.
                                 // Long-term, we'll want to move to an aliasing model where "cast to
                                 // raw pointer" is a complete NOP, and then this will no longer be
                                 // an issue.