pub enum IdentityResolution {
Resolved,
Fallback,
Unresolved,
Unknown,
}Expand description
How a FunctionIdentity was produced by the upstream coverage
pipeline.
Lets fallow-cloud aggregation and the CLI distinguish “this identity
was resolved through a source map” from “this is a best-effort
line-only fallback” without inspecting the column / span fields
directly. Added in protocol 0.6.0.
Variants§
Resolved
Identity was produced from a fully-resolved source location, e.g. a source-map lookup succeeded for a bundled position, or a direct AST traversal yielded byte-accurate columns.
Fallback
Identity was constructed via a best-effort fallback after a more
precise resolution failed (missing source map, stale offsets, etc).
FunctionIdentity::stable_id is bit-identical to what a
IdentityResolution::Resolved producer would emit for the same
function (the hash inputs are file / name / start_line
only, none of which the fallback path loses); the confidence
delta is about the column / span metadata, not the join key
itself. Consumers that weight join confidence on this variant
SHOULD apply the weight to display / disambiguation logic
(column accuracy, source-map traceability), not to the join.
Unresolved
Identity could not be resolved beyond file, name, and
start_line; columns and source_hash are SHOULD-be-absent.
Consumers SHOULD ignore FunctionIdentity::start_column,
FunctionIdentity::end_column, and
FunctionIdentity::source_hash when resolution == Unresolved, even if a non-conforming producer populated them.
The protocol intentionally documents rather than enforces this
(a serde-time check would force every consumer to validate);
unresolved_identity_with_columns_round_trips locks the
document-but-tolerate stance.
Unknown
Sentinel for forward-compatibility with newer pipelines.
Trait Implementations§
Source§impl Clone for IdentityResolution
impl Clone for IdentityResolution
Source§fn clone(&self) -> IdentityResolution
fn clone(&self) -> IdentityResolution
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IdentityResolution
impl Debug for IdentityResolution
Source§impl<'de> Deserialize<'de> for IdentityResolution
impl<'de> Deserialize<'de> for IdentityResolution
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 IdentityResolution
impl PartialEq for IdentityResolution
Source§fn eq(&self, other: &IdentityResolution) -> bool
fn eq(&self, other: &IdentityResolution) -> bool
self and other values to be equal, and is used by ==.