pub struct SymbolDependency {
pub from_symbol: String,
pub to_symbol: String,
pub kind: SymbolKind,
pub strength: DependencyStrength,
}Expand description
Symbol-level dependency tracking for fine-grained invalidation.
Tracks which specific symbol in the source file depends on which specific symbol in the target file.
§Examples
use thread_flow::incremental::types::{SymbolDependency, SymbolKind, DependencyStrength};
let dep = SymbolDependency {
from_symbol: "parse_config".to_string(),
to_symbol: "ConfigReader".to_string(),
kind: SymbolKind::Function,
strength: DependencyStrength::Strong,
};
assert_eq!(dep.kind, SymbolKind::Function);Fields§
§from_symbol: StringSymbol path in the source file (the dependent symbol).
to_symbol: StringSymbol path in the target file (the dependency).
kind: SymbolKindThe kind of symbol being depended upon.
strength: DependencyStrengthStrength of this symbol-level dependency.
Trait Implementations§
Source§impl Clone for SymbolDependency
impl Clone for SymbolDependency
Source§fn clone(&self) -> SymbolDependency
fn clone(&self) -> SymbolDependency
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SymbolDependency
impl Debug for SymbolDependency
Source§impl<'de> Deserialize<'de> for SymbolDependency
impl<'de> Deserialize<'de> for SymbolDependency
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
Source§impl PartialEq for SymbolDependency
impl PartialEq for SymbolDependency
Source§impl Serialize for SymbolDependency
impl Serialize for SymbolDependency
impl Eq for SymbolDependency
impl StructuralPartialEq for SymbolDependency
Auto Trait Implementations§
impl Freeze for SymbolDependency
impl RefUnwindSafe for SymbolDependency
impl Send for SymbolDependency
impl Sync for SymbolDependency
impl Unpin for SymbolDependency
impl UnsafeUnpin for SymbolDependency
impl UnwindSafe for SymbolDependency
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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