pub enum SemanticProvenance {
Semantic,
SemanticDiscovered,
}Expand description
The guess tag, appended LAST on every edge kind that can
carry it. heuristic: true is set only on an edge a heuristic tier
emitted and never writes heuristic: false, so this side pairs
skip_serializing_if with default: absent == precise, and a precise
edge’s bytes are exactly what they were before the tag existed. Only
the resolver’s heuristic tiers set it today (both
uses-member), but the flag lives on all three targeted kinds because
the query layer’s heuristic adjacency is kind-keyed, so a future tier
tagging a uses-type edge needs no schema change.
uses-member carries two more appended keys, tier then member, in
that order and NOT mirrored onto the other two kinds: neither has a
member to name, and no tier tags one today. tier splits the umbrella
flag into the two tiers a reader can act on differently; member names
the member the reference reads or calls and is written on every
uses-member edge, precise ones included, because “which member” is a fact
about the reference rather than about the guess. Both are
omit-when-None, so a reader of the old shape sees only added keys.
Fills the slot this module’s Edge::UsesMember::source reserved: which of
two disjoint populations a compiler-vouched edge belongs to. Semantic
stands in place of whatever the ladder would have produced for the SAME
reference the extractor already emitted (a per-reference override, one for
one). SemanticDiscovered has no extractor reference at all – the site
exists only because the admitted artifact named it – so it is never
counted against the extractor-emitted population in edges_by_kind or the
syntax-lane audit denominator; only the audit’s own tiers.semantic block
reports it, and separately from Semantic.
Variants§
Semantic
A same-context compiler fact confirmed or overrode the extractor’s own reference at that occurrence.
SemanticDiscovered
A compiler-verified occurrence the syntax extractor emitted no reference for.
Trait Implementations§
Source§impl Clone for SemanticProvenance
impl Clone for SemanticProvenance
impl Copy for SemanticProvenance
Source§impl Debug for SemanticProvenance
impl Debug for SemanticProvenance
Source§impl<'de> Deserialize<'de> for SemanticProvenance
impl<'de> Deserialize<'de> for SemanticProvenance
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>,
Source§impl PartialEq for SemanticProvenance
impl PartialEq for SemanticProvenance
Source§impl Serialize for SemanticProvenance
impl Serialize for SemanticProvenance
impl StructuralPartialEq for SemanticProvenance
Auto Trait Implementations§
impl Freeze for SemanticProvenance
impl RefUnwindSafe for SemanticProvenance
impl Send for SemanticProvenance
impl Sync for SemanticProvenance
impl Unpin for SemanticProvenance
impl UnsafeUnpin for SemanticProvenance
impl UnwindSafe for SemanticProvenance
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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