pub struct DataFlowFact {
pub kind: DataFlowKind,
pub source_capability: Option<Capability>,
pub source_span: IrSpan,
pub sink_capability: Option<Capability>,
pub sink_span: IrSpan,
pub call_chain: Box<[Box<str>]>,
pub message: Box<str>,
}Expand description
Data flow finding: taint edge, quality issue, or concurrency hazard.
Fields§
§kind: DataFlowKindWhat kind of data flow issue this represents.
source_capability: Option<Capability>Where the tainted data originates (taint flows only).
source_span: IrSpanLocation of the source expression.
sink_capability: Option<Capability>Where the tainted data is consumed (taint flows only).
sink_span: IrSpanLocation of the sink expression.
call_chain: Box<[Box<str>]>Intermediate function names the data passes through.
message: Box<str>Human-readable description of the finding.
Trait Implementations§
Source§impl Clone for DataFlowFact
impl Clone for DataFlowFact
Source§fn clone(&self) -> DataFlowFact
fn clone(&self) -> DataFlowFact
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DataFlowFact
impl RefUnwindSafe for DataFlowFact
impl Send for DataFlowFact
impl Sync for DataFlowFact
impl Unpin for DataFlowFact
impl UnsafeUnpin for DataFlowFact
impl UnwindSafe for DataFlowFact
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, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
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