#[non_exhaustive]pub struct PerFindingResult {
pub finding_id: String,
pub exploitable: ExploitabilityVerdict,
pub confidence: Option<f64>,
pub flow_verdicts: Option<Vec<FlowVerdict>>,
pub reasoning_chain: Option<Vec<ReasoningStep>>,
pub exploit_artifact: Option<ValidationExploitArtifact>,
}Expand description
Validation’s result for one finding within a multi-finding bundle.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.finding_id: StringThe finding assessed.
exploitable: ExploitabilityVerdictExploitability verdict for this finding.
confidence: Option<f64>Confidence in this finding’s verdict. Absent when out of range.
flow_verdicts: Option<Vec<FlowVerdict>>Per-flow verdicts recorded for this finding.
reasoning_chain: Option<Vec<ReasoningStep>>Reasoning chain recorded for this finding.
exploit_artifact: Option<ValidationExploitArtifact>Exploit artifact produced for this finding, when there was one.
Implementations§
Source§impl PerFindingResult
impl PerFindingResult
Sourcepub fn finding_id(&self) -> &str
pub fn finding_id(&self) -> &str
The finding assessed.
Sourcepub fn exploitable(&self) -> &ExploitabilityVerdict
pub fn exploitable(&self) -> &ExploitabilityVerdict
Exploitability verdict for this finding.
Sourcepub fn confidence(&self) -> Option<f64>
pub fn confidence(&self) -> Option<f64>
Confidence in this finding’s verdict. Absent when out of range.
Sourcepub fn flow_verdicts(&self) -> &[FlowVerdict]
pub fn flow_verdicts(&self) -> &[FlowVerdict]
Per-flow verdicts recorded for this finding.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .flow_verdicts.is_none().
Sourcepub fn reasoning_chain(&self) -> &[ReasoningStep]
pub fn reasoning_chain(&self) -> &[ReasoningStep]
Reasoning chain recorded for this finding.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .reasoning_chain.is_none().
Sourcepub fn exploit_artifact(&self) -> Option<&ValidationExploitArtifact>
pub fn exploit_artifact(&self) -> Option<&ValidationExploitArtifact>
Exploit artifact produced for this finding, when there was one.
Source§impl PerFindingResult
impl PerFindingResult
Sourcepub fn builder() -> PerFindingResultBuilder
pub fn builder() -> PerFindingResultBuilder
Creates a new builder-style object to manufacture PerFindingResult.
Trait Implementations§
Source§impl Clone for PerFindingResult
impl Clone for PerFindingResult
Source§impl Debug for PerFindingResult
impl Debug for PerFindingResult
Source§impl PartialEq for PerFindingResult
impl PartialEq for PerFindingResult
impl StructuralPartialEq for PerFindingResult
Auto Trait Implementations§
impl Freeze for PerFindingResult
impl RefUnwindSafe for PerFindingResult
impl Send for PerFindingResult
impl Sync for PerFindingResult
impl Unpin for PerFindingResult
impl UnsafeUnpin for PerFindingResult
impl UnwindSafe for PerFindingResult
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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> ⓘ
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);