[−][src]Struct haybale_pitchfork::ConstantTimeResultForFunction
Holds information about the results of a constant-time analysis of a particular function.
Fields
funcname: &'a str
Name of the toplevel function we analyzed
path_results: Vec<ConstantTimeResultForPath>
the ConstantTimeResultForPath
s for each path in that function.
Note that since we can't progress beyond a NotConstantTime
or
OtherError
result on a particular path, there may be many more paths
than the ones listed here.
We simply have no way of knowing how many more paths there might be
beyond one of these errors.
block_coverage: HashMap<String, BlockCoverage>
Map from function names to statistics on the block coverage of those functions. Functions not appearing in the map were not encountered on any path, or were hooked.
Note that in the case of ConstantTimeResultForPath::NotConstantTime
or
ConstantTimeResultForPath::OtherError
, the coverage stats consider the
block in which the error occurred to be covered, even if the portion of
the block after where the error occurred was not covered.
error_filename: Option<String>
If we logged all the detailed error messages, then this is the name of
the file they were logged to.
Otherwise, if this is None
, we did not log the detailed error messages.
(In either case, all the detailed error messages are available in the
path_results
field above.)
Methods
impl<'a> ConstantTimeResultForFunction<'a>
[src]
pub fn first_ct_violation(&self) -> Option<&str>
[src]
Return the violation_message
for the first NotConstantTime
result
encountered, if there is one.
pub fn first_error_or_violation(&self) -> Option<&ConstantTimeResultForPath>
[src]
Return the first NotConstantTime
or OtherError
result encountered,
if there is one.
pub fn path_statistics(&self) -> PathStatistics
[src]
Trait Implementations
impl<'a> Display for ConstantTimeResultForFunction<'a>
[src]
Produces a pretty (even colored!) description of the
ConstantTimeResultForFunction
, including selected coverage statistics
Auto Trait Implementations
impl<'a> RefUnwindSafe for ConstantTimeResultForFunction<'a>
impl<'a> Send for ConstantTimeResultForFunction<'a>
impl<'a> Sync for ConstantTimeResultForFunction<'a>
impl<'a> Unpin for ConstantTimeResultForFunction<'a>
impl<'a> UnwindSafe for ConstantTimeResultForFunction<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,