pub struct VarId(/* private fields */);Expand description
Lightweight variable identifier for DataFlowGraph internal use.
VarId is a SlotMap key optimized for:
- O(1) comparison and hashing
- Stable identity across insertions/deletions
- Safe deletion without index invalidation
For full symbol information, convert to SymbolId via VarSymbolMapping.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for VarId
impl<'de> Deserialize<'de> for VarId
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Key for VarId
impl Key for VarId
Source§fn null() -> Self
fn null() -> Self
Creates a new key that is always invalid and distinct from any non-null
key. A null key can only be created through this method (or default
initialization of keys made with
new_key_type!, which calls this
method). Read moreSource§impl Ord for VarId
impl Ord for VarId
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for VarId
impl PartialOrd for VarId
impl Copy for VarId
impl Eq for VarId
impl StructuralPartialEq for VarId
Auto Trait Implementations§
impl Freeze for VarId
impl RefUnwindSafe for VarId
impl Send for VarId
impl Sync for VarId
impl Unpin for VarId
impl UnsafeUnpin for VarId
impl UnwindSafe for VarId
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<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