pub enum AirProjection {
Field {
struct_id: StructId,
field_index: u32,
},
Index {
array_type: Type,
index: AirRef,
},
}Expand description
A projection applied to a place to reach a nested location.
Projections are stored in Air::projections and referenced by
AirPlace::projections_start and AirPlace::projections_len.
Variants§
Field
Field access: .field_name
The struct_id identifies the struct type, and field_index is the 0-based index of the field in declaration order.
Index
Array index: [index]
The array_type is needed for bounds checking and element size calculation. The index is an AirRef that will be evaluated at runtime.
Trait Implementations§
Source§impl Clone for AirProjection
impl Clone for AirProjection
Source§fn clone(&self) -> AirProjection
fn clone(&self) -> AirProjection
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 AirProjection
impl Debug for AirProjection
Source§impl PartialEq for AirProjection
impl PartialEq for AirProjection
impl Copy for AirProjection
impl Eq for AirProjection
impl StructuralPartialEq for AirProjection
Auto Trait Implementations§
impl Freeze for AirProjection
impl RefUnwindSafe for AirProjection
impl Send for AirProjection
impl Sync for AirProjection
impl Unpin for AirProjection
impl UnsafeUnpin for AirProjection
impl UnwindSafe for AirProjection
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].