pub enum ScopeModifier {
None,
Init,
Shared,
Final,
Volatile,
Cursor,
}Expand description
The modifier on a binding declaration. Mirrors the
BindingModifier flag set in polydat’ Polydat AST plus
the binding-kind keywords (init, cursor) that
nmbrs-runtime’s text-level scope assembly cares about.
Wire-coloring modifiers (final, shared, volatile)
could in principle combine, but the scope assembly path
historically only needs to know “is this final?” /
“is this shared?” for shadow checks; combinations get
reduced here to the most-distinctive single tag. The full
flag set is preserved in the eventual Polydat AST when the
scope-emitted source compiles.
Variants§
Trait Implementations§
Source§impl Clone for ScopeModifier
impl Clone for ScopeModifier
impl Copy for ScopeModifier
Source§impl Debug for ScopeModifier
impl Debug for ScopeModifier
impl Eq for ScopeModifier
Source§impl PartialEq for ScopeModifier
impl PartialEq for ScopeModifier
impl StructuralPartialEq for ScopeModifier
Auto Trait Implementations§
impl Freeze for ScopeModifier
impl RefUnwindSafe for ScopeModifier
impl Send for ScopeModifier
impl Sync for ScopeModifier
impl Unpin for ScopeModifier
impl UnsafeUnpin for ScopeModifier
impl UnwindSafe for ScopeModifier
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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