Function topo::root [−][src]
pub fn root<F, R>(op: F) -> R where
F: FnOnce() -> R,
Expand description
Calls the provided function as the root of a new call tree, ignoring the
current CallId
.
Example
// a call to root() here ensures the child is always treated as the same tree
// no matter from where the function is called
let independent = || topo::root(topo::CallId::current);
assert_eq!(topo::call(independent), topo::call(independent));
// this is a normal topo call, it returns `CallId`s based on the parent state
let dependent = || topo::call(topo::CallId::current);
assert_ne!(topo::call(dependent), topo::call(dependent));