pub struct LocalTypesSnapshot {
pub local_types: HashMap<u16, VariableTypeInfo>,
pub local_type_scopes: Vec<HashMap<u16, VariableTypeInfo>>,
}Expand description
Sweep phase 3c.1: snapshot of the type-tracker’s local-types state
captured before a nested function compilation that clears them.
Wraps both the flat local_types map and the per-scope
local_type_scopes stack so pop_scope semantics survive the
round-trip.
Fields§
§local_types: HashMap<u16, VariableTypeInfo>§local_type_scopes: Vec<HashMap<u16, VariableTypeInfo>>Implementations§
Trait Implementations§
Source§impl Clone for LocalTypesSnapshot
impl Clone for LocalTypesSnapshot
Auto Trait Implementations§
impl Freeze for LocalTypesSnapshot
impl RefUnwindSafe for LocalTypesSnapshot
impl Send for LocalTypesSnapshot
impl Sync for LocalTypesSnapshot
impl Unpin for LocalTypesSnapshot
impl UnsafeUnpin for LocalTypesSnapshot
impl UnwindSafe for LocalTypesSnapshot
Blanket Implementations§
impl<T> Allocation for T
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<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