pub struct AnalyzeConfig<State = Unvalidated> {Show 43 fields
pub path: PathBuf,
pub format: OutputFormat,
pub output: Option<PathBuf>,
pub threshold_complexity: u32,
pub threshold_duplication: usize,
pub languages: Option<Vec<String>>,
pub coverage_file: Option<PathBuf>,
pub enable_context: bool,
pub context_providers: Option<Vec<String>>,
pub disable_context: Option<Vec<String>>,
pub top: Option<usize>,
pub tail: Option<usize>,
pub summary: bool,
pub semantic_off: bool,
pub verbosity: u8,
pub verbose_macro_warnings: bool,
pub show_macro_stats: bool,
pub min_priority: Option<String>,
pub min_score: Option<f64>,
pub filter_categories: Option<Vec<String>>,
pub no_context_aware: bool,
pub threshold_preset: Option<ThresholdPreset>,
pub _formatting_config: FormattingConfig,
pub parallel: bool,
pub jobs: usize,
pub multi_pass: bool,
pub show_attribution: bool,
pub aggregate_only: bool,
pub no_aggregation: bool,
pub aggregation_method: Option<String>,
pub min_problematic: Option<usize>,
pub no_god_object: bool,
pub max_files: Option<usize>,
pub debug_call_graph: bool,
pub trace_functions: Option<Vec<String>>,
pub call_graph_stats_only: bool,
pub debug_format: DebugFormatArg,
pub validate_call_graph: bool,
pub ast_functional_analysis: bool,
pub functional_analysis_profile: Option<FunctionalAnalysisProfile>,
pub no_tui: bool,
pub show_filter_stats: bool,
pub reference_time: DateTime<Utc>,
/* private fields */
}Expand description
Configuration with type-state validation
Generic parameter State encodes whether config has been validated.
Default is Unvalidated to ensure validation is explicit.
Fields§
§path: PathBuf§format: OutputFormat§output: Option<PathBuf>§threshold_complexity: u32§threshold_duplication: usize§languages: Option<Vec<String>>§coverage_file: Option<PathBuf>§enable_context: bool§context_providers: Option<Vec<String>>§disable_context: Option<Vec<String>>§top: Option<usize>§tail: Option<usize>§summary: bool§semantic_off: bool§verbosity: u8§verbose_macro_warnings: bool§show_macro_stats: bool§min_priority: Option<String>§min_score: Option<f64>§filter_categories: Option<Vec<String>>§no_context_aware: bool§threshold_preset: Option<ThresholdPreset>§_formatting_config: FormattingConfig§parallel: bool§jobs: usize§multi_pass: bool§show_attribution: bool§aggregate_only: bool§no_aggregation: bool§aggregation_method: Option<String>§min_problematic: Option<usize>§no_god_object: bool§max_files: Option<usize>§debug_call_graph: bool§trace_functions: Option<Vec<String>>§call_graph_stats_only: bool§debug_format: DebugFormatArg§validate_call_graph: bool§ast_functional_analysis: bool§functional_analysis_profile: Option<FunctionalAnalysisProfile>§no_tui: bool§show_filter_stats: bool§reference_time: DateTime<Utc>Implementations§
Source§impl AnalyzeConfig<Unvalidated>
impl AnalyzeConfig<Unvalidated>
Sourcepub fn new(
path: PathBuf,
format: OutputFormat,
output: Option<PathBuf>,
threshold_complexity: u32,
threshold_duplication: usize,
languages: Option<Vec<String>>,
coverage_file: Option<PathBuf>,
enable_context: bool,
context_providers: Option<Vec<String>>,
disable_context: Option<Vec<String>>,
top: Option<usize>,
tail: Option<usize>,
summary: bool,
semantic_off: bool,
verbosity: u8,
verbose_macro_warnings: bool,
show_macro_stats: bool,
min_priority: Option<String>,
min_score: Option<f64>,
filter_categories: Option<Vec<String>>,
no_context_aware: bool,
threshold_preset: Option<ThresholdPreset>,
_formatting_config: FormattingConfig,
parallel: bool,
jobs: usize,
multi_pass: bool,
show_attribution: bool,
aggregate_only: bool,
no_aggregation: bool,
aggregation_method: Option<String>,
min_problematic: Option<usize>,
no_god_object: bool,
max_files: Option<usize>,
debug_call_graph: bool,
trace_functions: Option<Vec<String>>,
call_graph_stats_only: bool,
debug_format: DebugFormatArg,
validate_call_graph: bool,
ast_functional_analysis: bool,
functional_analysis_profile: Option<FunctionalAnalysisProfile>,
no_tui: bool,
show_filter_stats: bool,
reference_time: DateTime<Utc>,
) -> Self
pub fn new( path: PathBuf, format: OutputFormat, output: Option<PathBuf>, threshold_complexity: u32, threshold_duplication: usize, languages: Option<Vec<String>>, coverage_file: Option<PathBuf>, enable_context: bool, context_providers: Option<Vec<String>>, disable_context: Option<Vec<String>>, top: Option<usize>, tail: Option<usize>, summary: bool, semantic_off: bool, verbosity: u8, verbose_macro_warnings: bool, show_macro_stats: bool, min_priority: Option<String>, min_score: Option<f64>, filter_categories: Option<Vec<String>>, no_context_aware: bool, threshold_preset: Option<ThresholdPreset>, _formatting_config: FormattingConfig, parallel: bool, jobs: usize, multi_pass: bool, show_attribution: bool, aggregate_only: bool, no_aggregation: bool, aggregation_method: Option<String>, min_problematic: Option<usize>, no_god_object: bool, max_files: Option<usize>, debug_call_graph: bool, trace_functions: Option<Vec<String>>, call_graph_stats_only: bool, debug_format: DebugFormatArg, validate_call_graph: bool, ast_functional_analysis: bool, functional_analysis_profile: Option<FunctionalAnalysisProfile>, no_tui: bool, show_filter_stats: bool, reference_time: DateTime<Utc>, ) -> Self
Create a new unvalidated configuration
Sourcepub fn validate(self) -> Result<AnalyzeConfig<Validated>>
pub fn validate(self) -> Result<AnalyzeConfig<Validated>>
Validate configuration and transition to validated state
This method performs validation checks and returns a validated configuration on success. The return type guarantees at compile-time that only validated config can be executed.
Trait Implementations§
Source§impl<State: Clone> Clone for AnalyzeConfig<State>
impl<State: Clone> Clone for AnalyzeConfig<State>
Source§fn clone(&self) -> AnalyzeConfig<State>
fn clone(&self) -> AnalyzeConfig<State>
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 moreAuto Trait Implementations§
impl<State> Freeze for AnalyzeConfig<State>
impl<State> RefUnwindSafe for AnalyzeConfig<State>where
State: RefUnwindSafe,
impl<State> Send for AnalyzeConfig<State>where
State: Send,
impl<State> Sync for AnalyzeConfig<State>where
State: Sync,
impl<State> Unpin for AnalyzeConfig<State>where
State: Unpin,
impl<State> UnsafeUnpin for AnalyzeConfig<State>
impl<State> UnwindSafe for AnalyzeConfig<State>where
State: UnwindSafe,
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,
Source§impl<T> EnsureExt<T> for T
impl<T> EnsureExt<T> for T
Source§fn ensure<P, E>(self, predicate: P, error: E) -> Validation<T, NonEmptyVec<E>>where
P: Predicate<T>,
fn ensure<P, E>(self, predicate: P, error: E) -> Validation<T, NonEmptyVec<E>>where
P: Predicate<T>,
Validate that this value satisfies the given predicate. Read more
Source§fn ensure_with<P, E, F>(
self,
predicate: P,
error_fn: F,
) -> Validation<T, NonEmptyVec<E>>
fn ensure_with<P, E, F>( self, predicate: P, error_fn: F, ) -> Validation<T, NonEmptyVec<E>>
Validate with an error-generating function. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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