[−][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 Debug for Id
[src]
impl Eq 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 PartialEq<Id> for Id
[src]
impl StructuralEq for Id
[src]
impl StructuralPartialEq for Id
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
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> Erased for T
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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>,