pub struct GlobalArgs {Show 16 fields
pub extra_rule_sets: Vec<String>,
pub verbose: bool,
pub check_equally_applicable_rules: bool,
pub rule_trace: Option<PathBuf>,
pub rule_trace_verbose: Option<PathBuf>,
pub _no_check_equally_applicable_rules: bool,
pub parser: Parser,
pub rewriter: Rewriter,
pub comprehension_expander: QuantifiedExpander,
pub solver: SolverFamily,
pub minion_discrete_threshold: usize,
pub save_solver_input_file: Option<PathBuf>,
pub solver_timeout: Option<Duration>,
pub log: bool,
pub logfile: Option<PathBuf>,
pub logfile_json: Option<PathBuf>,
}Fields§
§extra_rule_sets: Vec<String>Extra rule sets to enable
verbose: boolLog verbosely
check_equally_applicable_rules: boolCheck for multiple equally applicable rules, exiting if any are found.
Only compatible with the default rewriter.
rule_trace: Option<PathBuf>Output file for the human readable rule trace.
rule_trace_verbose: Option<PathBuf>Output file for verbose rule-attempt trace in CSV format.
Each row includes: elapsed_s, rule_level, rule_name, rule_set, status, expression.
_no_check_equally_applicable_rules: boolDo not check for multiple equally applicable rules [default].
Only compatible with the default rewriter.
parser: ParserWhich parser to use.
Possible values: tree-sitter, via-conjure.
rewriter: RewriterWhich rewriter to use.
Possible values: naive, morph.
comprehension_expander: QuantifiedExpanderWhich strategy to use for expanding quantified variables in comprehensions.
Possible values: native, via-solver, via-solver-ac.
solver: SolverFamilySolver family to use.
Possible values: minion, sat, sat-log, sat-direct, sat-order,
smt[-<ints>][-<matrices>][-nodiscrete]
where <ints> is lia or bv, and <matrices> is arrays or atomic.
minion_discrete_threshold: usizeInt-domain size threshold for using Minion DISCRETE variables.
If an int domain has size <= this value, Conjure Oxide emits DISCRETE; otherwise BOUND.
save_solver_input_file: Option<PathBuf>Save a solver input file to
This input file will be in a format compatible by the command-line interface of the selected solver. For example, when the solver is Minion, a valid .minion file will be output.
This file is for informational purposes only; the results of running this file cannot be used by Conjure Oxide in any way.
solver_timeout: Option<Duration>Stop the solver after the given timeout.
Currently only SMT supports this feature.
log: boolGenerate log files
logfile: Option<PathBuf>Output file for conjure-oxide’s text logs
logfile_json: Option<PathBuf>Output file for conjure-oxide’s json logs
Trait Implementations§
Source§impl Args for GlobalArgs
impl Args for GlobalArgs
Source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
ArgGroup::id][crate::ArgGroup::id] for this set of argumentsSource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command] so it can instantiate self via
[FromArgMatches::update_from_arg_matches_mut] Read moreSource§impl Clone for GlobalArgs
impl Clone for GlobalArgs
Source§fn clone(&self) -> GlobalArgs
fn clone(&self) -> GlobalArgs
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GlobalArgs
impl Debug for GlobalArgs
Source§impl FromArgMatches for GlobalArgs
impl FromArgMatches for GlobalArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for GlobalArgs
impl RefUnwindSafe for GlobalArgs
impl Send for GlobalArgs
impl Sync for GlobalArgs
impl Unpin for GlobalArgs
impl UnsafeUnpin for GlobalArgs
impl UnwindSafe for GlobalArgs
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 184 bytes