Struct salsa_2022::runtime::local_state::QueryEdges
source · [−]pub struct QueryEdges {
pub input_outputs: Arc<[(EdgeKind, DependencyIndex)]>,
}
Expand description
The edges between a memoized value and other queries in the dependency graph. These edges include both dependency edges e.g., when creating the memoized value for Q0 executed another function Q1) and output edges (e.g., when Q0 specified the value for another query Q2).
Fields
input_outputs: Arc<[(EdgeKind, DependencyIndex)]>
The list of outgoing edges from this node. This list combines both inputs and outputs.
Note that we always track input dependencies even when there are untracked reads. Untracked reads mean that we can’t verify values, so we don’t use the list of inputs for that, but we still use it for finding the transitive inputs to an accumulator.
You can access the input/output list via the methods [inputs
] and [outputs
] respectively.
Important:
- The inputs must be in execution order for the red-green algorithm to work.
Trait Implementations
sourceimpl Clone for QueryEdges
impl Clone for QueryEdges
sourcefn clone(&self) -> QueryEdges
fn clone(&self) -> QueryEdges
Returns a copy of the value. Read more
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations
impl RefUnwindSafe for QueryEdges
impl Send for QueryEdges
impl Sync for QueryEdges
impl Unpin for QueryEdges
impl UnwindSafe for QueryEdges
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more