pub enum ReachVerdict {
Reachable {
witness: Vec<String>,
},
NotReachable,
Unknown {
reason: String,
},
}Expand description
The reachability outcome. The acceptable error direction is over-reporting
(Reachable/Unknown when in fact dead) — NotReachable is sound: there is
genuinely no path from a root to the sink under the analyzed config.
Variants§
Reachable
A concrete call chain exists; witness is root -> … -> sink.
NotReachable
Sound: no path under the analyzed config.
Unknown
Could not be decided soundly (build failed, sink unresolved, an opaque boundary on every candidate path, …).
Trait Implementations§
Source§impl Clone for ReachVerdict
impl Clone for ReachVerdict
Source§fn clone(&self) -> ReachVerdict
fn clone(&self) -> ReachVerdict
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 moreSource§impl Debug for ReachVerdict
impl Debug for ReachVerdict
Source§impl<'de> Deserialize<'de> for ReachVerdict
impl<'de> Deserialize<'de> for ReachVerdict
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
Source§impl PartialEq for ReachVerdict
impl PartialEq for ReachVerdict
Source§fn eq(&self, other: &ReachVerdict) -> bool
fn eq(&self, other: &ReachVerdict) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ReachVerdict
impl Serialize for ReachVerdict
impl StructuralPartialEq for ReachVerdict
Auto Trait Implementations§
impl Freeze for ReachVerdict
impl RefUnwindSafe for ReachVerdict
impl Send for ReachVerdict
impl Sync for ReachVerdict
impl Unpin for ReachVerdict
impl UnsafeUnpin for ReachVerdict
impl UnwindSafe for ReachVerdict
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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