pub struct Issue {
pub number: usize,
pub description: String,
pub severity: IssueSeverity,
pub location: String,
pub evidence: String,
pub reproducible: bool,
pub fix_approach: String,
pub verdict: Option<IssueVerdict>,
pub verdict_reason: Option<String>,
pub fixed: bool,
pub fix_commit: Option<String>,
}Expand description
An issue found during verification.
Fields§
§number: usizeIssue number (1-based, for display).
description: StringOne-line description.
severity: IssueSeveritySeverity.
location: StringLocation (file:line or component name).
evidence: StringEvidence (error message, test output, or concrete observation).
reproducible: boolWhether the issue is reproducible.
fix_approach: StringSuggested fix approach.
verdict: Option<IssueVerdict>Verdict after re-validation.
verdict_reason: Option<String>Reason for the verdict (especially for false positives).
fixed: boolWhether this issue has been fixed.
fix_commit: Option<String>Commit hash of the fix, if applied.
Implementations§
Source§impl Issue
impl Issue
Sourcepub fn new(
number: usize,
description: impl Into<String>,
severity: IssueSeverity,
location: impl Into<String>,
) -> Self
pub fn new( number: usize, description: impl Into<String>, severity: IssueSeverity, location: impl Into<String>, ) -> Self
Create a new issue.
Sourcepub fn with_evidence(self, evidence: impl Into<String>) -> Self
pub fn with_evidence(self, evidence: impl Into<String>) -> Self
Set evidence for this issue.
Sourcepub fn reproducible(self, yes: bool) -> Self
pub fn reproducible(self, yes: bool) -> Self
Set whether the issue is reproducible.
Sourcepub fn fix_approach(self, approach: impl Into<String>) -> Self
pub fn fix_approach(self, approach: impl Into<String>) -> Self
Set the fix approach.
Sourcepub fn set_verdict(&mut self, verdict: IssueVerdict, reason: impl Into<String>)
pub fn set_verdict(&mut self, verdict: IssueVerdict, reason: impl Into<String>)
Record a verdict after re-validation.
Sourcepub fn mark_fixed(&mut self, commit_hash: Option<String>)
pub fn mark_fixed(&mut self, commit_hash: Option<String>)
Mark the issue as fixed.
Sourcepub fn needs_fix(&self) -> bool
pub fn needs_fix(&self) -> bool
Whether this issue must be fixed (confirmed and not yet fixed).
Sourcepub fn is_actionable(&self) -> bool
pub fn is_actionable(&self) -> bool
Whether this issue is actionable (confirmed or needs context, not fixed).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Issue
impl<'de> Deserialize<'de> for Issue
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Issue
impl RefUnwindSafe for Issue
impl Send for Issue
impl Sync for Issue
impl Unpin for Issue
impl UnsafeUnpin for Issue
impl UnwindSafe for Issue
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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