#[non_exhaustive]pub struct Finding {
pub severity: Option<Severity>,
pub category: Category,
pub code: Cow<'static, str>,
pub note: String,
pub source: Source,
pub subjects: Vec<SubjectRef>,
pub evidence: Vec<Evidence>,
pub context: FindingContext,
}Expand description
A normalized forensic finding — an observation, never an assertion of intent.
Construct via Finding::observation / Finding::unrated; the type is
#[non_exhaustive] so adding fields later does not break consumers.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.severity: Option<Severity>Severity, or None when the analyzer deliberately did not score it.
category: CategoryAnalytical lens.
code: Cow<'static, str>Stable machine-readable, scheme-prefixed code, e.g. GPT-PARTITION-OVERLAP.
note: StringHuman-readable observation (consistent-with language, never “proves”).
source: SourceProducing analyzer + scope.
subjects: Vec<SubjectRef>Non-disk subjects the finding is about (empty for disk findings).
evidence: Vec<Evidence>Backing evidence (lossless per-analyzer detail).
context: FindingContextBehavioral / aggregation context (default-empty for disk findings).
Implementations§
Trait Implementations§
impl StructuralPartialEq for Finding
Auto Trait Implementations§
impl Freeze for Finding
impl RefUnwindSafe for Finding
impl Send for Finding
impl Sync for Finding
impl Unpin for Finding
impl UnsafeUnpin for Finding
impl UnwindSafe for Finding
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