[−][src]Struct haybale_pitchfork::PitchforkConfig
pitchfork-specific configuration options, in addition to the configuration
options in haybale::Config.
Like haybale::Config, PitchforkConfig uses the (new-to-Rust-1.40)
#[non_exhaustive] attribute to indicate that fields may be added even in a
point release (that is, without incrementing the major or minor version).
Users should start with PitchforkConfig::default() and then change the
settings they want to change.
Fields (Non-exhaustive)
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.keep_going: boolIf true, then even if we encounter an error or violation, we will
continue exploring as many paths as we can in the function before
returning, possibly reporting many different errors and/or violations.
(Although we can't keep going on the errored path itself, we can still try to
explore other paths that don't contain the error.)
If false, then as soon as we encounter an error or violation, we will quit
and return the results we have.
It is recommended to only use keep_going == true in conjunction with solver
query timeouts; see the solver_query_timeout setting in Config.
Default is false.
dump_errors: boolEven if keep_going is set to true, the Display impl for
ConstantTimeResultForFunction only displays a summary of the kinds of
errors encountered, and full details about a single error.
With dump_errors == true, pitchfork will dump detailed descriptions
of all errors encountered to a file.
This setting only applies if keep_going == true; it is completely ignored
if keep_going == false.
Default is true, meaning that if keep_going is enabled, then detailed
error descriptions will be dumped to a file.
progress_updates: boolIf true, pitchfork will provide detailed progress updates in a
continuously-updated terminal display. This includes counts of paths
verified / errors encountered / warnings generated; the current code
location being executed (in terms of both LLVM and source if available),
the most recent log message generated, etc.
Also, if true, log messages other than the most recent will not be
shown in the terminal; instead, all log messages will be routed to a
file.
progress_updates == true requires pitchfork to take control of the
global logger; users should not initialize their own logging backends
such as env_logger.
On the other hand, if progress_updates == false, pitchfork will not
touch the global logger, and it is up to users to initialize a logging
backend such as env_logger if they want to see log messages.
This setting requires the progress-updates crate feature, which is
enabled by default. If the progress-updates feature is disabled, this
setting will be treated as false regardless of its actual value.
If you encounter a Rust panic (as opposed to merely a haybale::Error),
you may want to temporarily disable progress_updates for debugging, in
order to get a clear panic message; otherwise, the
progress-display-updater thread may interfere with the printing of the
panic message.
Default is true.
debug_logging: boolIf progress_updates == true, pitchfork takes control of the global
logger, as noted in docs there.
This setting controls which log messages will be recorded in the
designated log file: messages with DEBUG and higher priority (true),
or only messages with INFO and higher priority (false).
If progress_updates == false, this setting has no effect; you should
configure debug logging via your own chosen logging backend such as
env_logger.
Default is false.
Trait Implementations
impl Clone for PitchforkConfig[src]
fn clone(&self) -> PitchforkConfig[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Debug for PitchforkConfig[src]
impl Default for PitchforkConfig[src]
Auto Trait Implementations
impl RefUnwindSafe for PitchforkConfig
impl Send for PitchforkConfig
impl Sync for PitchforkConfig
impl Unpin for PitchforkConfig
impl UnwindSafe for PitchforkConfig
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> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
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>,