pub enum WireModifier {
Const,
Shared,
Volatile,
}Expand description
One wire-coloring keyword. The single enum that names every modifier the grammar recognises before a binding name. Future modifiers are new variants here.
Each variant maps to a token the lexer emits and a parser
branch in parse_modified_binding. A binding can carry zero
or more of these, stored as a BindingModifier set.
Variants§
Const
const — effectively-const for the scope’s lifetime.
Materialized at the earliest opportunity: compile-time
const-fold when the RHS is fold-eligible, otherwise the
scope-init pull pass after materialize-wiring has
populated extern slots. The runtime contract is “fixed
once per scope activation, then immutable for the rest of
the scope’s lifetime.” Replaces the former final /
init distinction — the two were redundant axes of the
same lifecycle, and the surface now collapses to one
keyword whose materialization timing is an internal
optimization.
shared — mutable cell visible across kernel instances.
The runtime propagates iteration N’s end state into
iteration N+1’s start state.
Volatile
volatile — wire’s value is excluded from hash_const
(the const-folded identity hash). Authors mark wires
whose value should NOT contribute to resume-identity
even when the source’s structural detection would
otherwise allow folding. See SRD-44 + design memo
resumable_test_fixture.md.
Trait Implementations§
Source§impl Clone for WireModifier
impl Clone for WireModifier
Source§fn clone(&self) -> WireModifier
fn clone(&self) -> WireModifier
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for WireModifier
Source§impl Debug for WireModifier
impl Debug for WireModifier
impl Eq for WireModifier
Source§impl Hash for WireModifier
impl Hash for WireModifier
Source§impl PartialEq for WireModifier
impl PartialEq for WireModifier
impl StructuralPartialEq for WireModifier
Auto Trait Implementations§
impl Freeze for WireModifier
impl RefUnwindSafe for WireModifier
impl Send for WireModifier
impl Sync for WireModifier
impl Unpin for WireModifier
impl UnsafeUnpin for WireModifier
impl UnwindSafe for WireModifier
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
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
key and return true if they are equal.