From: Ralf Jung Date: Tue, 13 Nov 2018 12:33:25 +0000 (+0100) Subject: recursive descend will come later X-Git-Url: https://git.ralfj.de/web.git/commitdiff_plain/33ab768ce08c41cfecdd4b5bf547a920c96cc0bc?ds=sidebyside;hp=0f7719dac2f0b0877d077d550c478e69fe1413b4 recursive descend will come later --- diff --git a/personal/_drafts/stacked-borrows-implementation.md b/personal/_drafts/stacked-borrows-implementation.md index b4035fe..e5dae22 100644 --- a/personal/_drafts/stacked-borrows-implementation.md +++ b/personal/_drafts/stacked-borrows-implementation.md @@ -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 -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.