pub struct ScipResolution {
pub bindings: Vec<Binding>,
pub external: Vec<Binding>,
pub external_nodes: Vec<Node>,
pub external_skipped: usize,
pub unanchored: Vec<Edge>,
}Expand description
Everything one index pass yields: binds to in-corpus definitions plus the synthesized dependency surface (D29) for references whose symbol has no definition occurrence anywhere in the corpus.
Fields§
§bindings: Vec<Binding>References bound to in-corpus definition nodes.
external: Vec<Binding>References bound to synthesized dep nodes (edge dst is a node in
external_nodes). The caller decides which survive — a ref already
bound by internal evidence keeps its internal edge.
external_nodes: Vec<Node>Distinct synthesized dependency-surface nodes, keyed by id via
external edges; unreferenced ones must not be installed.
external_skipped: usizeDistinct external symbols that overlapped a reference but did not
parse as a <scheme> <manager> <package> <version> <descriptors>
moniker (skipped silently, counted here).
unanchored: Vec<Edge>Edges from SCIP reference occurrences that overlap NO extracted
reference (macro token trees: format!, assert_eq!, …) but sit
inside one of our nodes and point at an in-corpus definition. Only
produced for files in scope; src is the enclosing node.
Auto Trait Implementations§
impl Freeze for ScipResolution
impl RefUnwindSafe for ScipResolution
impl Send for ScipResolution
impl Sync for ScipResolution
impl Unpin for ScipResolution
impl UnsafeUnpin for ScipResolution
impl UnwindSafe for ScipResolution
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more