[][src]Struct topo::Id

pub struct 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 Ids across multiple executions when iterating over elements of a collection that itself has unstable iteration order.

Methods

impl Id[src]

pub fn current() -> Self[src]

Returns the Id for the current scope in the call topology.

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]

impl PartialEq<Id> for Id[src]

impl StructuralEq for Id[src]

impl StructuralPartialEq for Id[src]

Auto Trait Implementations

impl RefUnwindSafe for Id

impl Send for Id

impl Sync for Id

impl Unpin for Id

impl UnwindSafe for Id

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[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]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.