From 01ebe8e1642463af3e14aa7266f7e244d6ee15f6 Mon Sep 17 00:00:00 2001 From: Johannes Hostert Date: Wed, 4 Dec 2024 15:22:53 +0100 Subject: [PATCH] let the comment tweaking begin --- src/borrow_tracker/tree_borrows/tree.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/borrow_tracker/tree_borrows/tree.rs b/src/borrow_tracker/tree_borrows/tree.rs index 844a4fdbdb..bb3e80d551 100644 --- a/src/borrow_tracker/tree_borrows/tree.rs +++ b/src/borrow_tracker/tree_borrows/tree.rs @@ -159,12 +159,11 @@ impl LocationState { // A foreign access to a `Disabled` tag will have almost no observable effect. // It's a theorem that `Disabled` node have no protected initialized children, // and so this foreign access will never trigger any protector. + // (Intuition: You're either protected initialized, and thus can't become Disabled, + // or you're already Disabled protected, but not initialized, and then can't become + // initialized since that requires a child access, which Disabled blocks.) // Further, the children will never be able to read or write again, since they - // have a `Disabled` parents. Even further, all children of `Disabled` are one - // of `ReservedIM`, `Disabled`, or a not-yet-accessed "lazy" permission thing. - // The two former are already invariant under all foreign accesses, and for - // the latter it does not really matter, since they can not be used/initialized - // due to having a protected parent. So this only affects diagnostics, but the + // have a `Disabled` parents. So this only affects diagnostics, but the // blocking write will still be identified directly, just at a different tag. new_access_noop = true; }