pub struct DuplicatePropShapeFinding {
pub shape: DuplicatePropShape,
pub finding_id: Option<String>,
pub actions: Vec<IssueAction>,
pub introduced: Option<AuditIntroduced>,
pub effective_severity: Option<EffectiveSeverity>,
}Expand description
Wire-shape envelope for a DuplicatePropShape finding. There is no safe
auto-fix: extracting a shared Props type or a base component for a group of
same-shaped components is a design decision. The actions are manual guidance
(extract the shared shape) plus a line-level suppress at the component
definition and a file-level suppress escape hatch (mirroring the
route-collision multi-file model). The rule defaults to off (opt-in health
signal), so this finding is dormant by default.
Fields§
§shape: DuplicatePropShapeThe underlying duplicate-prop-shape 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. 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.
effective_severity: Option<EffectiveSeverity>Rule severity of this finding. This type never gates the run, so the
value does not change the exit code. fallow report --from reads it
for the SARIF level, so the level does not depend on the config at
render time. Absent in output from older versions. Not part of the
finding identity, baseline keys or fingerprints.
Implementations§
Source§impl DuplicatePropShapeFinding
impl DuplicatePropShapeFinding
Sourcepub fn with_actions(shape: DuplicatePropShape) -> Self
pub fn with_actions(shape: DuplicatePropShape) -> Self
Build the wrapper from a raw DuplicatePropShape. Manual guidance is
the primary action (extract a shared shape); a line-level suppress at the
component definition and a file-level suppress escape hatch follow,
mirroring the multi-file route-collision suppress model. There is no safe
auto-fix because extracting a shared type or base component is a design
decision.
Trait Implementations§
Source§impl Clone for DuplicatePropShapeFinding
impl Clone for DuplicatePropShapeFinding
Source§impl Debug for DuplicatePropShapeFinding
impl Debug for DuplicatePropShapeFinding
Source§impl<'de> Deserialize<'de> for DuplicatePropShapeFinding
impl<'de> Deserialize<'de> for DuplicatePropShapeFinding
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 DuplicatePropShapeFinding
impl GatedFinding for DuplicatePropShapeFinding
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 DuplicatePropShapeFinding
impl IdentifiedFinding for DuplicatePropShapeFinding
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.