Enum rustc_borrowck::AccessDepth [−][src]
pub(crate) enum AccessDepth {
Shallow(Option<ArtificialField>),
Deep,
Drop,
}
Variants
Shallow(Option<ArtificialField>)
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
.”
Tuple Fields of Shallow
From the RFC: “A deep access means that all data reachable through the given place may be invalidated or accesses by this action.”
Access is Deep only when there is a Drop implementation that can reach the data behind the reference.
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
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
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
Shallow
: 1 byteDeep
: 0 bytesDrop
: 0 bytes