[−][src]Struct topo::Id
Identifies an activation record in the current call topology.
The Id
for the execution of a stack frame is the combined product of:
- a callsite: lexical source location at which the topologically-nested function was invoked
- parent
Id
: the identifier which was active when entering the current topo-nested function - a "slot": runtime value indicating the call's "logical index" within the parent call
By default, the slot used is a count of the number of times that particular callsite has been
executed within the parent Id
's enclosing scope. This means that when creating an Id
in a
loop the identifier will be unique for each "index" of the loop iteration and will be stable if
the same loop is invoked again. Changing the value used for the slot allows us to have stable
Id
s across multiple executions when iterating over elements of a collection that itself has
unstable iteration order.
Methods
impl Id
[src]
Trait Implementations
impl Clone for Id
[src]
impl Copy for Id
[src]
impl Eq for Id
[src]
impl PartialEq<Id> for Id
[src]
impl Debug for Id
[src]
impl Hash for Id
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl StructuralPartialEq for Id
[src]
impl StructuralEq for Id
[src]
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,