pub enum ProjectionStep {
Field(FieldIdx),
Index,
}Expand description
A normalized step in a place projection chain.
Variants§
Field(FieldIdx)
Index
Index projections are intentionally summarized without their concrete operand. The borrow solver only needs to know that an index boundary exists for provenance and diagnostics.
Trait Implementations§
Source§impl Clone for ProjectionStep
impl Clone for ProjectionStep
Source§fn clone(&self) -> ProjectionStep
fn clone(&self) -> ProjectionStep
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProjectionStep
impl Debug for ProjectionStep
Source§impl Hash for ProjectionStep
impl Hash for ProjectionStep
Source§impl PartialEq for ProjectionStep
impl PartialEq for ProjectionStep
impl Copy for ProjectionStep
impl Eq for ProjectionStep
impl StructuralPartialEq for ProjectionStep
Auto Trait Implementations§
impl Freeze for ProjectionStep
impl RefUnwindSafe for ProjectionStep
impl Send for ProjectionStep
impl Sync for ProjectionStep
impl Unpin for ProjectionStep
impl UnsafeUnpin for ProjectionStep
impl UnwindSafe for ProjectionStep
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more