Enum rustc_mir::borrow_check::AccessDepth [−][src]
enum AccessDepth {
Shallow(Option<ArtificialField>),
Deep,
Drop,
}Variants
Shallow(Option<ArtificialField>)Expand description
From the RFC: “A shallow access means that the immediate
fields reached at P are accessed, but references or pointers
found within are not dereferenced. Right now, the only access
that is shallow is an assignment like x = ...;, which would
be a shallow write of x.”
Expand description
From the RFC: “A deep access means that all data reachable through the given place may be invalidated or accesses by this action.”
Expand description
Access is Deep only when there is a Drop implementation that can reach the data behind the reference.
Trait Implementations
impl Clone for AccessDepth[src]
impl Clone for AccessDepth[src]fn clone(&self) -> AccessDepth[src]
fn clone(&self) -> AccessDepth[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl Debug for AccessDepth[src]
impl Debug for AccessDepth[src]impl PartialEq<AccessDepth> for AccessDepth[src]
impl PartialEq<AccessDepth> for AccessDepth[src]fn eq(&self, other: &AccessDepth) -> bool[src]
fn eq(&self, other: &AccessDepth) -> bool[src]This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &AccessDepth) -> bool[src]
fn ne(&self, other: &AccessDepth) -> bool[src]This method tests for !=.
impl Copy for AccessDepth[src]
impl Eq for AccessDepth[src]
impl StructuralEq for AccessDepth[src]
impl StructuralPartialEq for AccessDepth[src]
Auto Trait Implementations
impl RefUnwindSafe for AccessDepth
impl Send for AccessDepth
impl Sync for AccessDepth
impl Unpin for AccessDepth
impl UnwindSafe for AccessDepth
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]