pub(super) fn traverse_to_object<'me>(
        &'me mut self,
        anchor: &'me Anchor,
        table: &bir::Tables,
        place: bir::Place,
    ) -> eyre::Result<ObjectTraversal> {
        let PlaceTraversal {
            accumulated_permissions,
            place: &mut Value { permission, object },
        } = self.traverse_to_place(anchor, table, place)?;
        let permissions = self.accumulate_permission(place, accumulated_permissions, permission)?;
        Ok(ObjectTraversal {
            accumulated_permissions: permissions,
            object,
        })
    }
/// Returns a traversal that reaches the object located at `place`.
/// This includes and accounts for the permissions from the reference
/// to the object.
///
/// If this returns `Ok`, the data in the object is at least potentially *accessible*,
/// though some of the objects along the way may currently be leased. If the place
/// tries to dereference an expired permission, returns `Err`.
Returns a traversal that reaches the object located at `place`.
This includes and accounts for the permissions from the reference
to the object.

If this returns `Ok`, the data in the object is at least potentially *accessible*,
though some of the objects along the way may currently be leased. If the place
tries to dereference an expired permission, returns `Err`.
Returns a traversal that reaches the object located at ` place ` . This includes and accounts for the permissions from the reference to the object . If this returns ` Ok ` the data in the object is at least potentially * accessible * though some of the objects along the way may currently be leased . If the place tries to dereference an expired permission returns ` Err ` .
pub(super) fn traverse_to_object<'me>(
        &'me mut self,
        anchor: &'me Anchor,
        table: &bir::Tables,
        place: bir::Place,
    ) -> eyre::Result<ObjectTraversal> {
        let PlaceTraversal {
            accumulated_permissions,
            place: &mut Value { permission, object },
        } = self.traverse_to_place(anchor, table, place)?;
        let permissions = self.accumulate_permission(place, accumulated_permissions, permission)?;
        Ok(ObjectTraversal {
            accumulated_permissions: permissions,
            object,
        })
    }
pub ( super ) fn traverse_to_object < ' me > ( & ' me mut self , anchor : & ' me Anchor , table : & bir :: Tables , place : bir :: Place , ) -> eyre :: Result < ObjectTraversal > { let PlaceTraversal { accumulated_permissions , place : & mut Value { permission , object } , } = self . traverse_to_place ( anchor , table , place ) ? ; let permissions = self . accumulate_permission ( place , accumulated_permissions , permission ) ? ; Ok ( ObjectTraversal { accumulated_permissions : permissions , object , } ) }
Returns a traversal that reaches the object located at `place`.
Returns a traversal that reaches the object located at ` place ` .
&'me mut self
anchor
&'me Anchor
table
&bir::Tables
place
bir::Place
&'me mut self
anchor
&'me Anchor
table
&bir::Tables
place
bir::Place