Module miri::borrow_tracker::tree_borrows::perms::transition
source ยท Expand description
This module controls how each permission individually reacts to an access.
Although these functions take protected as an argument, this is NOT because
we check protector violations here, but because some permissions behave differently
when protected.
Functionsยง
- child_read ๐A child node was read-accessed: UB on Disabled, noop on the rest.
- child_write ๐A child node was write-accessed:
Reservedmust becomeActiveto obtain write permissions,FrozenandDisabledcannot obtain such permissions and produce UB. - foreign_read ๐A non-child node was read-accessed: keep
Reservedbut mark it asconflictedif it is protected; invalidateActive. - foreign_write ๐A non-child node was write-accessed: this makes everything
Disabledexcept for non-protected interior mutableReservedwhich stay the same. - perform_access ๐Dispatch handler depending on the kind of access and its position.