recursive descend will come later
authorRalf Jung <post@ralfj.de>
Tue, 13 Nov 2018 12:33:25 +0000 (13:33 +0100)
committerRalf Jung <post@ralfj.de>
Tue, 13 Nov 2018 12:33:25 +0000 (13:33 +0100)
ralf/_drafts/stacked-borrows-implementation.md

index b4035fea626c6aa54d73da6baa4dfdedf90a6e57..e5dae22eb914a79dd40f21d067668c7c34720375 100644 (file)
@@ -439,8 +439,10 @@ references are copied: At the beginning of every function, all inputs of
 reference type get retagged.  On every assignment, if the assigned value is of
 reference type, it gets retagged.  Moreover, we do this even when the reference
 value is inside the field of a `struct` or `enum`, to make sure we really cover
 reference type get retagged.  On every assignment, if the assigned value is of
 reference type, it gets retagged.  Moreover, we do this even when the reference
 value is inside the field of a `struct` or `enum`, to make sure we really cover
-all references.  However, we do *not* descend recursively through references:
-Retagging a `&mut &mut u8` will only retag the *outer* reference.
+all references.  (This recursive descend is already implemented, but the
+implementation has not landed yet.)  However, we do *not* descend recursively
+through references: Retagging a `&mut &mut u8` will only retag the *outer*
+reference.
 
 Retagging is the *only* operation that generates fresh tags.  Taking a reference
 simply forwards the tag of the pointer we are basing this reference on.
 
 Retagging is the *only* operation that generates fresh tags.  Taking a reference
 simply forwards the tag of the pointer we are basing this reference on.