pub struct TestArgs {Show 120 fields
fuzz_only: FuzzOnlyMode,
pub(crate) showmap_override: Option<ShowmapConfig>,
pub(crate) fuzz_failure_replay: bool,
pub(crate) invariant_runs_override: Option<u64>,
pub(crate) invariant_timeout_override: Option<u32>,
pub global: GlobalArgs,
pub path: Option<GlobMatcher>,
debug: bool,
debug_layout: Option<DebuggerLayout>,
flamegraph: bool,
flamechart: bool,
evm_profile: Option<EvmProfileFormat>,
no_open: bool,
decode_internal: bool,
dump: Option<PathBuf>,
gas_report: bool,
gas_snapshot_check: Option<bool>,
gas_snapshot_emit: Option<bool>,
allow_failure: bool,
suppress_successful_traces: bool,
trace_depth: Option<usize>,
pub junit: bool,
pub fail_fast: bool,
etherscan_api_key: Option<String>,
list: bool,
pub fuzz_seed: Option<U256>,
pub fuzz_runs: Option<u64>,
pub invariant_workers: Option<InvariantWorkers>,
pub fuzz_run: Option<u32>,
pub fuzz_worker: Option<u32>,
pub fuzz_timeout: Option<u64>,
pub fuzz_dictionary_weight: Option<u32>,
pub fuzz_dictionary_addresses: Option<String>,
pub fuzz_dictionary_values: Option<String>,
pub fuzz_dictionary_literals: Option<String>,
pub fuzz_corpus_random_sequence_weight: Option<u32>,
pub fuzz_corpus_dir: Option<PathBuf>,
pub fuzz_frontier_dir: Option<PathBuf>,
pub fuzz_frontier_limit: Option<usize>,
pub fuzz_payable_value_weight: Option<u32>,
pub fuzz_mutation_weight_splice: Option<u32>,
pub fuzz_mutation_weight_repeat: Option<u32>,
pub fuzz_mutation_weight_interleave: Option<u32>,
pub fuzz_mutation_weight_prefix: Option<u32>,
pub fuzz_mutation_weight_suffix: Option<u32>,
pub fuzz_mutation_weight_abi: Option<u32>,
pub fuzz_mutation_weight_cmp: Option<u32>,
pub fuzz_input_file: Option<String>,
pub invariant_depth: Option<u32>,
pub invariant_min_depth: Option<u32>,
pub invariant_depth_mode: Option<InvariantDepthMode>,
pub invariant_dictionary_weight: Option<u32>,
pub invariant_dictionary_addresses: Option<String>,
pub invariant_dictionary_values: Option<String>,
pub invariant_dictionary_literals: Option<String>,
pub invariant_corpus_random_sequence_weight: Option<u32>,
pub invariant_corpus_dir: Option<PathBuf>,
pub invariant_payable_value_weight: Option<u32>,
pub invariant_mutation_weight_splice: Option<u32>,
pub invariant_mutation_weight_repeat: Option<u32>,
pub invariant_mutation_weight_interleave: Option<u32>,
pub invariant_mutation_weight_prefix: Option<u32>,
pub invariant_mutation_weight_suffix: Option<u32>,
pub invariant_mutation_weight_abi: Option<u32>,
pub invariant_mutation_weight_cmp: Option<u32>,
pub symbolic: bool,
pub replay_symbolic_artifact: Option<PathBuf>,
pub emit_regression: bool,
pub regression_out: Option<PathBuf>,
pub regression_overwrite: bool,
pub symbolic_seed_corpus: bool,
pub symbolic_use_fuzz_corpus: bool,
pub symbolic_corpus_seed_limit: Option<usize>,
pub symbolic_use_fuzz_frontiers: bool,
pub symbolic_frontier_limit: Option<usize>,
pub symbolic_frontier_ids: Option<Vec<u64>>,
pub symbolic_frontier_pcs: Option<Vec<usize>>,
pub symbolic_frontier_selectors: Option<Vec<String>>,
pub symbolic_solver: Option<String>,
pub symbolic_solver_command: Option<String>,
pub symbolic_solver_portfolio: Option<Vec<String>>,
pub symbolic_timeout: Option<u32>,
pub symbolic_loop: Option<u32>,
pub symbolic_depth: Option<u32>,
pub symbolic_width: Option<u32>,
pub symbolic_max_depth: Option<u32>,
pub symbolic_max_paths: Option<u32>,
pub symbolic_invariant_depth: Option<u32>,
pub symbolic_max_solver_queries: Option<u32>,
pub symbolic_default_dynamic_length: Option<u32>,
pub symbolic_max_dynamic_length: Option<u32>,
pub symbolic_array_lengths: Option<Vec<u32>>,
pub symbolic_max_calldata_bytes: Option<u32>,
pub symbolic_call_targets: bool,
pub symbolic_dump_smt: bool,
pub symbolic_storage_layout: Option<String>,
pub show_progress: bool,
pub rerun: bool,
pub opcodes: Vec<OpCode>,
pub summary: bool,
pub detailed: bool,
pub disable_labels: bool,
pub showmap_out: Option<PathBuf>,
pub showmap_per_input: bool,
pub showmap_domain: ShowmapDomainArg,
pub showmap_approach: String,
pub showmap_trial: Option<String>,
pub showmap_corpus_dir: Option<PathBuf>,
filter: FilterArgs,
evm: EvmArgs,
pub build: BuildOpts,
pub watch: WatchArgs,
pub mutate: Option<Vec<PathBuf>>,
pub mutate_path: Option<GlobMatcher>,
pub mutate_contract: Option<Regex>,
pub mutation_jobs: Option<usize>,
pub mutation_timeout: Option<u32>,
pub mutation_optimizer_runs: Option<u32>,
pub mutation_via_ir: Option<bool>,
pub brutalize: bool,
}Expand description
CLI arguments for forge test.
Fields§
§fuzz_only: FuzzOnlyModeInternal mode used by forge fuzz.
showmap_override: Option<ShowmapConfig>Internal showmap/replay override used by forge fuzz replay.
fuzz_failure_replay: boolInternal mode used by forge fuzz replay to replay persisted fuzz failures.
invariant_runs_override: Option<u64>Internal override used by forge fuzz run --runs for invariant campaigns.
invariant_timeout_override: Option<u32>Internal override used by forge fuzz run --timeout for invariant campaigns.
global: GlobalArgs§path: Option<GlobMatcher>The contract file you want to test, it’s a shortcut for –match-path.
debug: boolRun a single test in the debugger.
The matching test will be opened in the debugger regardless of the outcome of the test.
If the matching test is a fuzz test, then it will open the debugger on the first failure case. If the fuzz test does not fail, it will open the debugger on the last fuzz case.
debug_layout: Option<DebuggerLayout>Debugger layout to use.
flamegraph: boolGenerate a flamegraph for a single test. Implies --decode-internal.
A flame graph is used to visualize which functions or operations within the smart contract are consuming the most gas overall in a sorted manner.
flamechart: boolGenerate a flamechart for a single test. Implies --decode-internal.
A flame chart shows the gas usage over time, illustrating when each function is called (execution order) and how much gas it consumes at each point in the timeline.
evm_profile: Option<EvmProfileFormat>Generate an execution profile for a single test.
Creates a profile where each EVM call is recorded with gas consumption.
Opens the profile in speedscope.app unless --no-open is passed.
Implies --decode-internal.
no_open: boolDon’t open the profile in the browser (for --evm-profile).
The profile is saved to disk without starting the local viewer server.
decode_internal: boolIdentify internal functions in traces.
This will trace internal functions and decode stack parameters.
Parameters stored in memory (such as bytes or arrays) are currently decoded only when a
single function is matched, similarly to --debug, for performance reasons.
dump: Option<PathBuf>Dumps all debugger steps to file.
gas_report: boolPrint a gas report.
gas_snapshot_check: Option<bool>Check gas snapshots against previous runs.
gas_snapshot_emit: Option<bool>Enable/disable recording of gas snapshot results.
allow_failure: boolExit with code 0 even if a test fails.
suppress_successful_traces: boolSuppress successful test traces and show only traces for failures.
trace_depth: Option<usize>Defines the depth of a trace
junit: boolOutput test results as JUnit XML report.
fail_fast: boolStop running tests after the first failure.
etherscan_api_key: Option<String>The Etherscan (or equivalent) API key.
list: boolList tests instead of running them.
fuzz_seed: Option<U256>Set seed used to generate randomness during your fuzz runs.
fuzz_runs: Option<u64>§invariant_workers: Option<InvariantWorkers>Number of workers to use for invariant test campaigns, or auto to derive from --jobs.
fuzz_run: Option<u32>Run only the fuzz case at the given 1-based run index.
fuzz_worker: Option<u32>Run the fuzz case from the given worker. Requires --fuzz-run.
fuzz_timeout: Option<u64>Timeout for each fuzz run in seconds.
fuzz_dictionary_weight: Option<u32>Percent of fuzz calldata generated from the dictionary.
fuzz_dictionary_addresses: Option<String>Maximum fuzz dictionary addresses, or max.
fuzz_dictionary_values: Option<String>Maximum fuzz dictionary values, or max.
fuzz_dictionary_literals: Option<String>Maximum fuzz dictionary literals, or max.
fuzz_corpus_random_sequence_weight: Option<u32>Percent chance that coverage-guided fuzzing generates fresh input instead of mutating corpus input.
fuzz_corpus_dir: Option<PathBuf>Directory for fuzz corpus persistence.
fuzz_frontier_dir: Option<PathBuf>Directory for fuzz branch frontier artifacts.
fuzz_frontier_limit: Option<usize>Maximum number of fuzz branch frontier records to write per test.
fuzz_payable_value_weight: Option<u32>Percent chance that fuzzed payable calls carry non-zero msg.value.
fuzz_mutation_weight_splice: Option<u32>Corpus mutation weight for splice.
fuzz_mutation_weight_repeat: Option<u32>Corpus mutation weight for repeat.
fuzz_mutation_weight_interleave: Option<u32>Corpus mutation weight for interleave.
fuzz_mutation_weight_prefix: Option<u32>Corpus mutation weight for prefix replacement.
fuzz_mutation_weight_suffix: Option<u32>Corpus mutation weight for suffix replacement.
fuzz_mutation_weight_abi: Option<u32>Corpus mutation weight for ABI argument mutation.
fuzz_mutation_weight_cmp: Option<u32>Corpus mutation weight for comparison-operand mutation.
fuzz_input_file: Option<String>File to rerun fuzz failures from.
invariant_depth: Option<u32>Number of calls executed to try to break invariants in one run.
invariant_min_depth: Option<u32>Minimum sampled invariant depth when --invariant-depth-mode random is active.
invariant_depth_mode: Option<InvariantDepthMode>How invariant run depth is selected.
invariant_dictionary_weight: Option<u32>Percent of invariant calldata/senders generated from the dictionary.
invariant_dictionary_addresses: Option<String>Maximum invariant dictionary addresses, or max.
invariant_dictionary_values: Option<String>Maximum invariant dictionary values, or max.
invariant_dictionary_literals: Option<String>Maximum invariant dictionary literals, or max.
invariant_corpus_random_sequence_weight: Option<u32>Percent chance that coverage-guided invariant fuzzing injects fresh calls while extending corpus sequences.
invariant_corpus_dir: Option<PathBuf>Directory for invariant corpus persistence.
invariant_payable_value_weight: Option<u32>Percent chance that fuzzed payable invariant calls carry non-zero msg.value.
invariant_mutation_weight_splice: Option<u32>Corpus mutation weight for splice.
invariant_mutation_weight_repeat: Option<u32>Corpus mutation weight for repeat.
invariant_mutation_weight_interleave: Option<u32>Corpus mutation weight for interleave.
invariant_mutation_weight_prefix: Option<u32>Corpus mutation weight for prefix replacement.
invariant_mutation_weight_suffix: Option<u32>Corpus mutation weight for suffix replacement.
invariant_mutation_weight_abi: Option<u32>Corpus mutation weight for ABI argument mutation.
invariant_mutation_weight_cmp: Option<u32>Corpus mutation weight for comparison-operand mutation.
symbolic: boolRun symbolic check*/prove*/invariant*/statefulFuzz* tests.
replay_symbolic_artifact: Option<PathBuf>Replay a durable symbolic counterexample artifact emitted by forge test --symbolic.
emit_regression: boolEmit Solidity regression tests for confirmed symbolic counterexamples.
regression_out: Option<PathBuf>File or directory for generated symbolic regression tests.
regression_overwrite: boolOverwrite existing generated symbolic regression tests.
symbolic_seed_corpus: boolRun fuzz tests symbolically and persist non-failing concrete inputs to the fuzz corpus.
symbolic_use_fuzz_corpus: boolRun fuzz tests symbolically using existing fuzz corpus entries as path-priority hints.
symbolic_corpus_seed_limit: Option<usize>Maximum number of fuzz corpus entries to import for one symbolic test.
symbolic_use_fuzz_frontiers: boolRun targeted symbolic solving from existing fuzz branch frontier artifacts.
symbolic_frontier_limit: Option<usize>Maximum number of fuzz branch frontiers to try for one symbolic test.
symbolic_frontier_ids: Option<Vec<u64>>Comma-separated fuzz branch frontier artifact IDs to try.
symbolic_frontier_pcs: Option<Vec<usize>>Comma-separated fuzz branch frontier comparison PCs to try.
symbolic_frontier_selectors: Option<Vec<String>>Comma-separated fuzz branch frontier calldata selectors to try.
symbolic_solver: Option<String>Solver executable used for symbolic tests.
symbolic_solver_command: Option<String>Exact solver command used for symbolic tests.
symbolic_solver_portfolio: Option<Vec<String>>Comma-separated SMT solver names or commands to race in parallel for symbolic tests.
symbolic_timeout: Option<u32>SMT solver timeout in seconds; also bounds symbolic invariant exploration.
symbolic_loop: Option<u32>Halmos-compatible symbolic loop bound.
symbolic_depth: Option<u32>Halmos-compatible symbolic execution depth alias.
symbolic_width: Option<u32>Halmos-compatible symbolic path width alias.
symbolic_max_depth: Option<u32>Maximum number of opcodes executed along a symbolic path.
symbolic_max_paths: Option<u32>Maximum number of symbolic paths to explore per test.
symbolic_invariant_depth: Option<u32>Maximum number of calls in a bounded symbolic invariant sequence.
symbolic_max_solver_queries: Option<u32>Maximum number of solver queries per symbolic test.
symbolic_default_dynamic_length: Option<u32>Default bounded length for symbolic dynamic ABI inputs.
symbolic_max_dynamic_length: Option<u32>Maximum permitted bounded length for symbolic dynamic ABI inputs.
symbolic_array_lengths: Option<Vec<u32>>Per-dynamic-input symbolic lengths, applied in ABI traversal order.
symbolic_max_calldata_bytes: Option<u32>Maximum symbolic calldata size in bytes.
symbolic_call_targets: boolExpand symbolic external call targets over known deployed contracts.
symbolic_dump_smt: boolDump SMT-LIB queries issued by symbolic tests.
symbolic_storage_layout: Option<String>Symbolic storage modelling mode.
show_progress: boolShow test execution progress.
rerun: boolRe-run recorded test failures from last run. If no failure recorded then regular test run is performed.
opcodes: Vec<OpCode>Print the given opcodes in trace output, with their gas cost and the storage slot and value, if available.
Accepts a comma-separated list of opcode names, e.g.
--opcodes SLOAD,MLOAD,SSTORE. Names are in uppercase.
Requires -vvvvv to render.
summary: boolPrint test summary table.
detailed: boolPrint detailed test summary table.
disable_labels: boolDisables the labels in the traces.
showmap_out: Option<PathBuf>Replay the persisted corpus and emit AFL-afl-showmap-style coverage
files at the given output directory. Disables the regular fuzz/invariant
campaign and skips unit tests.
showmap_per_input: boolEmit one showmap file per corpus entry (default: one aggregated file per test).
showmap_domain: ShowmapDomainArgCoverage domain(s) to dump.
showmap_approach: StringApproach name (used as a subdirectory of --showmap-out).
showmap_trial: Option<String>Trial identifier embedded in each showmap filename. Defaults to a unique
trial-<unix_nanos> so reruns don’t overwrite previous trials.
showmap_corpus_dir: Option<PathBuf>Override the corpus directory to replay (defaults to the per-test
corpus_dir resolved from config).
filter: FilterArgs§evm: EvmArgs§build: BuildOpts§watch: WatchArgs§mutate: Option<Vec<PathBuf>>Enable mutation testing. If passed with file paths, only those files will be tested.
mutate_path: Option<GlobMatcher>Specify which files to mutate with glob pattern matching.
Mutually exclusive with passing explicit paths to --mutate; either
supply paths to --mutate or use this glob filter, not both.
mutate_contract: Option<Regex>Only mutate contracts whose name matches the specified regex pattern.
Mutually exclusive with --mutate-path.
mutation_jobs: Option<usize>Number of parallel workers for mutation testing. Defaults to the number of CPU cores.
mutation_timeout: Option<u32>Best-effort per-mutant wall-clock timeout in seconds. Mutants that exceed it are recorded as “timed out” and cleanup continues in the background with bounded pending workers.
Analogous to --invariant-timeout for invariant campaigns.
mutation_optimizer_runs: Option<u32>Override optimizer runs for mutation testing compile-and-test runs.
mutation_via_ir: Option<bool>Override via-ir for mutation testing compile-and-test runs.
brutalize: boolEnable brutalization mode.
Catches latent bugs that normal tests miss because the EVM initializes memory to zero and registers to clean values. Applies source-level sanitizers before compiling:
- Dirties unused bits in sub-256-bit type casts (address, uint8, bytes4, etc.) to catch assembly code that assumes clean upper bits when using legacy codegen. Via-IR may clean these bits before inline assembly observes them.
- Fills scratch space (0x00-0x3f) and memory beyond the free memory pointer with junk to catch uninitialized memory reads
- Misaligns the free memory pointer to catch word-alignment assumptions
If forge test passes but forge test --brutalize fails, the code has
a robustness issue that could manifest when called in a different context.
Implementations§
Source§impl TestArgs
impl TestArgs
pub async fn run(self) -> Result<TestOutcome>
pub(crate) fn ensure_mutation_mode_compatible( &self, coverage: bool, ) -> Result<()>
pub(crate) fn ensure_coverage_mode_compatible(&self) -> Result<()>
Sourcefn showmap_config(&self) -> Result<Option<ShowmapConfig>>
fn showmap_config(&self) -> Result<Option<ShowmapConfig>>
Builds a ShowmapConfig from the showmap CLI flags, if --showmap-out is set.
Sourcepub(crate) const fn enable_fuzz_only(&mut self)
pub(crate) const fn enable_fuzz_only(&mut self)
Restricts this test invocation to fuzz and invariant tests.
Sourcepub(crate) const fn enable_fuzz_only_with_auto_fuzz_corpus(&mut self)
pub(crate) const fn enable_fuzz_only_with_auto_fuzz_corpus(&mut self)
Restricts this test invocation to fuzz and invariant tests and enables a default fuzz corpus dir after user config is loaded.
fn apply_auto_fuzz_corpus_dir(&self, config: &mut Config)
Sourcepub(crate) fn set_showmap_override(&mut self, showmap: ShowmapConfig)
pub(crate) fn set_showmap_override(&mut self, showmap: ShowmapConfig)
Overrides showmap config for callers that reuse replay mode without the
forge test --showmap-* CLI flags.
Sourcepub(crate) fn set_fuzz_minimize_replay_options(
&mut self,
global: GlobalArgs,
evm: EvmArgs,
build: BuildOpts,
filter: FilterArgs,
)
pub(crate) fn set_fuzz_minimize_replay_options( &mut self, global: GlobalArgs, evm: EvmArgs, build: BuildOpts, filter: FilterArgs, )
Sets replay-critical options for internal fuzz minimizer callers.
Sourcepub(crate) const fn enable_fuzz_failure_replay(&mut self)
pub(crate) const fn enable_fuzz_failure_replay(&mut self)
Replays persisted fuzz failures without running a new fuzz campaign.
fn warn_unsupported_engine_flags( &self, output: &ProjectCompileOutput, config: &Config, inline_config: &InlineConfig, filter: &ProjectPathsAwareFilter, multi_network: &MultiNetworkConfig, ) -> Result<()>
Sourcepub(crate) fn from_fuzz_run(args: FuzzRunArgs) -> Self
pub(crate) fn from_fuzz_run(args: FuzzRunArgs) -> Self
Builds the delegated forge test invocation for forge fuzz run.
fn apply_fuzz_run_campaign(&mut self, campaign: CampaignArgs)
fn load_symbolic_artifact_replay( &self, ) -> Result<Option<SymbolicArtifactReplayConfig>>
Sourcefn get_sources_to_compile(
&self,
config: &Config,
test_filter: &ProjectPathsAwareFilter,
inline_config: Option<Arc<InlineConfig>>,
symbolic_artifact_replay: Option<&SymbolicArtifactReplayConfig>,
) -> Result<(BTreeSet<PathBuf>, Option<Arc<InlineConfig>>)>
fn get_sources_to_compile( &self, config: &Config, test_filter: &ProjectPathsAwareFilter, inline_config: Option<Arc<InlineConfig>>, symbolic_artifact_replay: Option<&SymbolicArtifactReplayConfig>, ) -> Result<(BTreeSet<PathBuf>, Option<Arc<InlineConfig>>)>
Returns a list of files that need to be compiled in order to run all the tests that match the given filter.
For filtered runs, this includes all configured source files, non-test artifacts outside script-only paths, and runnable tests that match the filter. Non-test artifacts remain available because tests may resolve them dynamically through cheatcodes.
Sourcepub async fn compile_and_run(&mut self) -> Result<TestOutcome>
pub async fn compile_and_run(&mut self) -> Result<TestOutcome>
Executes all the tests in the project.
This will trigger the build process first. On success all test contracts that match the configured filter will be executed
Returns the test results for all matching tests.
Sourceasync fn compile_and_run_brutalized(&mut self) -> Result<TestOutcome>
async fn compile_and_run_brutalized(&mut self) -> Result<TestOutcome>
Compile and run tests with brutalization applied to source files.
async fn compile_project(&mut self) -> Result<CompiledTestProject>
pub(crate) async fn prepare_fuzz_minimize_replay( &mut self, corpus_dir: &Path, ) -> Result<FuzzMinimizeReplaySession>
Sourcepub(crate) async fn run_tests(
&mut self,
project_root: &Path,
config: Config,
evm_opts: EvmOpts,
output: &ProjectCompileOutput,
filter: &ProjectPathsAwareFilter,
execution: TestExecutionOptions,
) -> Result<TestOutcome>
pub(crate) async fn run_tests( &mut self, project_root: &Path, config: Config, evm_opts: EvmOpts, output: &ProjectCompileOutput, filter: &ProjectPathsAwareFilter, execution: TestExecutionOptions, ) -> Result<TestOutcome>
Executes all the tests in the project.
See Self::compile_and_run for more details.
Sourceasync fn build_and_run_tests<FEN: FoundryEvmNetwork>(
&self,
config: Config,
evm_opts: EvmOpts,
output: &ProjectCompileOutput,
filter: &mut ProjectPathsAwareFilter,
execution: TestExecutionOptions,
) -> Result<(Libraries, TestOutcome)>
async fn build_and_run_tests<FEN: FoundryEvmNetwork>( &self, config: Config, evm_opts: EvmOpts, output: &ProjectCompileOutput, filter: &mut ProjectPathsAwareFilter, execution: TestExecutionOptions, ) -> Result<(Libraries, TestOutcome)>
Build the test runner and execute tests for a specific network type.
async fn build_fuzz_minimize_runner<FEN: FoundryEvmNetwork>( &self, config: Config, evm_opts: EvmOpts, output: &ProjectCompileOutput, options: FuzzMinimizeNetworkPassOptions, ) -> Result<MultiContractRunner<FEN>>
Sourceasync fn dispatch_network(
&self,
dispatch_opts: &EvmOpts,
config: Config,
evm_opts: EvmOpts,
output: &ProjectCompileOutput,
filter: &mut ProjectPathsAwareFilter,
execution: TestExecutionOptions,
) -> Result<(Libraries, TestOutcome)>
async fn dispatch_network( &self, dispatch_opts: &EvmOpts, config: Config, evm_opts: EvmOpts, output: &ProjectCompileOutput, filter: &mut ProjectPathsAwareFilter, execution: TestExecutionOptions, ) -> Result<(Libraries, TestOutcome)>
Dispatches build_and_run_tests to the correct network type based on evm_opts.networks.
async fn dispatch_fuzz_minimize_network( &self, dispatch_opts: &EvmOpts, config: Config, evm_opts: EvmOpts, output: &ProjectCompileOutput, options: FuzzMinimizeNetworkPassOptions, filter: &ProjectPathsAwareFilter, ) -> Result<FuzzMinimizeReplayPass>
fn symbolic_regression_config( &self, config: &Config, ) -> Option<SymbolicRegressionConfig>
Sourceasync fn run_tests_inner<FEN: FoundryEvmNetwork>(
&self,
runner: MultiContractRunner<FEN>,
config: Arc<Config>,
verbosity: u8,
filter: &mut ProjectPathsAwareFilter,
output: &ProjectCompileOutput,
) -> Result<TestOutcome>
async fn run_tests_inner<FEN: FoundryEvmNetwork>( &self, runner: MultiContractRunner<FEN>, config: Arc<Config>, verbosity: u8, filter: &mut ProjectPathsAwareFilter, output: &ProjectCompileOutput, ) -> Result<TestOutcome>
Run all tests that matches the filter predicate from a test runner
Sourcepub fn filter(&self, config: &Config) -> Result<ProjectPathsAwareFilter>
pub fn filter(&self, config: &Config) -> Result<ProjectPathsAwareFilter>
Returns the flattened FilterArgs arguments merged with [Config].
Loads and applies filter from file if only last test run failures performed.
fn filter_with_rerun_failures( &self, config: &Config, loaded_rerun_failures: Option<LastRunFailures>, ) -> Result<ProjectPathsAwareFilter>
Sourcepub(crate) fn watchexec_config(&self) -> Result<Config>
pub(crate) fn watchexec_config(&self) -> Result<Config>
Returns the [watchexec::Config] necessary to bootstrap a new watch loop.
Trait Implementations§
Source§impl Args for TestArgs
impl Args for TestArgs
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 FromArgMatches for TestArgs
impl FromArgMatches for TestArgs
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.Source§impl Parser for TestArgs
impl Parser for TestArgs
§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
§fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
Auto Trait Implementations§
impl Freeze for TestArgs
impl RefUnwindSafe for TestArgs
impl Send for TestArgs
impl Sync for TestArgs
impl Unpin for TestArgs
impl UnsafeUnpin for TestArgs
impl UnwindSafe for TestArgs
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Conv for T
impl<T> Conv for T
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv from a transaction and a sender address.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<B> IntoBlock<B> for B
impl<B> IntoBlock<B> for B
§fn into_block(self) -> B
fn into_block(self) -> B
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> LoadConfig for T
impl<T> LoadConfig for T
§fn load_config(&self) -> Result<Config, ExtractConfigError>
fn load_config(&self) -> Result<Config, ExtractConfigError>
Config] based on the options provided in self.§fn load_config_no_warnings(&self) -> Result<Config, ExtractConfigError>
fn load_config_no_warnings(&self) -> Result<Config, ExtractConfigError>
LoadConfig::load_config] but does not emit warnings.§fn load_config_unsanitized(&self) -> Result<Config, ExtractConfigError>
fn load_config_unsanitized(&self) -> Result<Config, ExtractConfigError>
Config] but do not sanitize. See [Config::sanitized] for more information.§fn load_config_unsanitized_no_warnings(
&self,
) -> Result<Config, ExtractConfigError>
fn load_config_unsanitized_no_warnings( &self, ) -> Result<Config, ExtractConfigError>
LoadConfig::load_config_unsanitized] but also emits warnings generated§fn load_config_and_evm_opts(&self) -> Result<(Config, EvmOpts), Report>
fn load_config_and_evm_opts(&self) -> Result<(Config, EvmOpts), Report>
Config], as well as extract EvmOpts from self§fn load_config_and_evm_opts_no_warnings(
&self,
) -> Result<(Config, EvmOpts), Report>
fn load_config_and_evm_opts_no_warnings( &self, ) -> Result<(Config, EvmOpts), Report>
LoadConfig::load_config_and_evm_opts] but also emits warnings generated§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute] value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi [Quirk] value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv 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: 2792 bytes