pub struct GraphDiff {
pub added_nodes: Vec<Node>,
pub removed_node_ids: Vec<NodeId>,
pub removed_files: Vec<PathBuf>,
pub added_edges: Vec<Edge>,
pub removed_edges: Vec<(NodeId, NodeId, EdgeKind)>,
pub deferred_calls: Vec<(NodeId, String)>,
pub deferred_uses: Vec<(NodeId, String)>,
pub deferred_implements: Vec<(NodeId, String)>,
}Expand description
Incremental change set produced by the indexer after each commit.
Applying a GraphDiff to the store brings the persisted graph up to date.
Fields§
§added_nodes: Vec<Node>§removed_node_ids: Vec<NodeId>Explicit node IDs to remove (e.g. from a targeted replacement).
removed_files: Vec<PathBuf>Files that were deleted. The store removes all nodes whose file
field matches any path in this list. Preferred over removed_node_ids
when whole files are gone because the indexer does not need to know
prior node IDs (keeping indexer ↔ store decoupled).
added_edges: Vec<Edge>§removed_edges: Vec<(NodeId, NodeId, EdgeKind)>§deferred_calls: Vec<(NodeId, String)>Cross-file calls that couldn’t be resolved against the diff-local node set (because the callee lives in an unchanged file). The store resolves these after inserting the new nodes, using its full existing data.
deferred_uses: Vec<(NodeId, String)>Same for parameter/return-type Uses edges.
deferred_implements: Vec<(NodeId, String)>Same for struct→trait Implements edges.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for GraphDiff
impl<'de> Deserialize<'de> for GraphDiff
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for GraphDiff
impl StructuralPartialEq for GraphDiff
Auto Trait Implementations§
impl Freeze for GraphDiff
impl RefUnwindSafe for GraphDiff
impl Send for GraphDiff
impl Sync for GraphDiff
impl Unpin for GraphDiff
impl UnsafeUnpin for GraphDiff
impl UnwindSafe for GraphDiff
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
Mutably borrows from an owned value. Read more