Skip to main content

UnusedTypeFinding

Struct UnusedTypeFinding 

Source
pub struct UnusedTypeFinding {
    pub export: UnusedExport,
    pub actions: Vec<IssueAction>,
    pub semantic: Option<SemanticCandidateDecision>,
    pub introduced: Option<AuditIntroduced>,
    pub effective_severity: Option<EffectiveSeverity>,
    pub reachability_caveats: Vec<ReachabilityCaveat>,
}
Expand description

Wire-shape envelope for an UnusedExport finding consumed under the unused_types key. Wraps the same bare UnusedExport struct as UnusedExportFinding but emits a fix action targeted at type-only declarations, with the same is_re_export-aware note swap.

Fields§

§export: UnusedExport

The underlying dead-code entry.

§actions: Vec<IssueAction>

Suggested next steps. Always emitted (possibly empty for forward-compat).

§semantic: Option<SemanticCandidateDecision>

Type-aware evidence for this exact candidate when requested.

§introduced: Option<AuditIntroduced>

Set by the audit pass when this finding is introduced relative to the merge-base.

§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. A type export rests on exactly the reachability test an unused_exports[] entry does, and the LSP offers the same remove-the-export-keyword quick fix for both, so the two must render with the same confidence. Sorted, deduplicated, omitted when empty.

Implementations§

Source§

impl UnusedTypeFinding

Source

pub fn with_actions(export: UnusedExport) -> Self

Build the wrapper. is_re_export swaps the fix note the same way as UnusedExportFinding::with_actions.

Source

pub fn set_semantic_decision(&mut self, decision: SemanticCandidateDecision)

Attach type-aware evidence and disable the syntactic fix when semantic analysis could not establish complete negative evidence.

Trait Implementations§

Source§

impl CaveatedFinding for UnusedTypeFinding

Source§

fn set_reachability_caveats(&mut self, caveats: Vec<ReachabilityCaveat>)

Store 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 UnusedTypeFinding

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UnusedTypeFinding

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for UnusedTypeFinding

Source§

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 GatedFinding for UnusedTypeFinding

Source§

fn effective_severity(&self) -> Option<EffectiveSeverity>

The gate severity, or None when no value was written.
Source§

fn set_effective_severity(&mut self, severity: Option<EffectiveSeverity>)

Write the gate severity.
Source§

impl MutationEvidence for UnusedTypeFinding

Source§

fn reachability_caveats(&self) -> &[ReachabilityCaveat]

The advisory caveats recorded on the reachability verdict behind this finding. Empty when the run analyzed every file it discovered.
Source§

fn may_auto_apply_mutation(&self) -> bool

Whether this finding’s mutation may be applied without a human first being told the evidence is incomplete. THE gate: never re-derive it, never widen it per surface.
Source§

impl Serialize for UnusedTypeFinding

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.