pub struct UnusedFileFinding {
pub file: UnusedFile,
pub finding_id: Option<String>,
pub actions: Vec<IssueAction>,
pub introduced: Option<AuditIntroduced>,
pub effective_severity: Option<EffectiveSeverity>,
pub reachability_caveats: Vec<ReachabilityCaveat>,
}Expand description
Wire-shape envelope for an UnusedFile finding. The bare finding
flattens in via #[serde(flatten)], with a typed actions array
populated at construction time and the audit-pass introduced flag
attached as an optional sibling.
Fields§
§file: UnusedFileThe underlying dead-code entry.
finding_id: Option<String>Stable id of this finding: dc1:<rule>:<16 hex digits>, with a
~<k> suffix when several findings of one type share an identity.
Line and column are not inputs, so the id survives line shifts,
reformats and reorders. A rename of the file or the symbol gives a
new id. Absent in output from older versions.
actions: Vec<IssueAction>Suggested next steps: a delete-file primary and a suppress-file
secondary. Always emitted (possibly empty for forward-compat).
introduced: Option<AuditIntroduced>Set by the audit pass when this finding is introduced relative to
the merge-base. None when serialized directly from Rust.
effective_severity: Option<EffectiveSeverity>Gate severity of this finding after rules and overrides[].rules
resolve for its path. CI formats read it for the annotation, SARIF
and CodeClimate level. Absent in output from older versions. Not
part of the finding identity, baseline keys or fingerprints.
reachability_caveats: Vec<ReachabilityCaveat>Advisory caveats on the reachability verdict behind this finding.
Sorted, deduplicated, and omitted from the wire when empty, so a run
that analyzed every discovered file is byte-identical. Never gates the
finding or the delete-file action, though fallow fix does withhold
the removal of a caveated finding as low confidence.
Implementations§
Source§impl UnusedFileFinding
impl UnusedFileFinding
Sourcepub fn with_actions(file: UnusedFile) -> Self
pub fn with_actions(file: UnusedFile) -> Self
Build the wrapper from a raw UnusedFile, computing the typed
actions array inline. introduced stays None and is set later
by annotate_dead_code_json if the audit pass runs.
Trait Implementations§
Source§impl CaveatedFinding for UnusedFileFinding
impl CaveatedFinding for UnusedFileFinding
Source§fn set_reachability_caveats(&mut self, caveats: Vec<ReachabilityCaveat>)
fn set_reachability_caveats(&mut self, caveats: Vec<ReachabilityCaveat>)
caveats and downgrade every mutating action the gate now
withholds. The field itself stays pub (a renderer test builds an
already-caveated fixture directly, without running the annotation
pass); every non-test writer goes through this setter instead of the
field so the downgrade travels with the write.Source§impl Clone for UnusedFileFinding
impl Clone for UnusedFileFinding
Source§impl Debug for UnusedFileFinding
impl Debug for UnusedFileFinding
Source§impl<'de> Deserialize<'de> for UnusedFileFinding
impl<'de> Deserialize<'de> for UnusedFileFinding
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 GatedFinding for UnusedFileFinding
impl GatedFinding for UnusedFileFinding
Source§fn effective_severity(&self) -> Option<EffectiveSeverity>
fn effective_severity(&self) -> Option<EffectiveSeverity>
None when no value was written.Source§fn set_effective_severity(&mut self, severity: Option<EffectiveSeverity>)
fn set_effective_severity(&mut self, severity: Option<EffectiveSeverity>)
Source§impl IdentifiedFinding for UnusedFileFinding
impl IdentifiedFinding for UnusedFileFinding
Source§fn rule_token(&self) -> &'static str
fn rule_token(&self) -> &'static str
Source§fn identity_parts(&self, p: &IdentityPaths<'_>) -> Vec<String>
fn identity_parts(&self, p: &IdentityPaths<'_>) -> Vec<String>
Source§fn tiebreak_position(&self) -> (u32, u32, u32)
fn tiebreak_position(&self) -> (u32, u32, u32)
Source§fn finding_id(&self) -> Option<&str>
fn finding_id(&self) -> Option<&str>
None before the stamping pass.Source§fn set_finding_id(&mut self, id: Option<String>)
fn set_finding_id(&mut self, id: Option<String>)
Source§fn canonical_key(&self, paths: &IdentityPaths<'_>) -> String
fn canonical_key(&self, paths: &IdentityPaths<'_>) -> String
dead_code_canonical_key.