pub struct StringErrorType { /* private fields */ }Expand description
StringErrorType detection rule
Detects string-based error types and suggests custom error types.
§Detection Confidence Levels
- High (0.9): Result<_, String> - clear anti-pattern
- High (0.85): Result<_, &str> or &’static str
- Medium (0.7): Result<_, Box
> - sometimes acceptable
Implementations§
Source§impl StringErrorType
impl StringErrorType
pub fn new() -> Self
Sourcepub fn with_min_confidence(self, threshold: f32) -> Self
pub fn with_min_confidence(self, threshold: f32) -> Self
Set minimum confidence threshold
Trait Implementations§
Source§impl Default for StringErrorType
impl Default for StringErrorType
Source§impl SafetySuggest for StringErrorType
impl SafetySuggest for StringErrorType
Source§fn default_severity(&self) -> LintSeverity
fn default_severity(&self) -> LintSeverity
Get the default severity for this safety issue
Source§fn create_safety_opportunity(
&self,
id: OpportunityId,
targets: Vec<SymbolId>,
location: SuggestLocation,
message: String,
suggestion: String,
confidence: f32,
) -> SuggestOpportunity
fn create_safety_opportunity( &self, id: OpportunityId, targets: Vec<SymbolId>, location: SuggestLocation, message: String, suggestion: String, confidence: f32, ) -> SuggestOpportunity
Create a safety opportunity with standard context
Source§impl Suggest for StringErrorType
impl Suggest for StringErrorType
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable description
Source§fn category(&self) -> SuggestCategory
fn category(&self) -> SuggestCategory
Category for filtering/grouping
Source§fn safety_level(&self) -> SafetyLevel
fn safety_level(&self) -> SafetyLevel
Safety level for auto-application decisions
Source§fn priority_weight(&self) -> f32
fn priority_weight(&self) -> f32
Priority weight for ranking (higher = more important)
Source§fn target_scopes(&self) -> Vec<SymbolScope>
fn target_scopes(&self) -> Vec<SymbolScope>
Target scopes where this suggest applies. Read more
Source§fn detect(
&self,
ctx: &AnalysisContext,
symbols: &[SymbolId],
) -> Vec<SuggestOpportunity>
fn detect( &self, ctx: &AnalysisContext, symbols: &[SymbolId], ) -> Vec<SuggestOpportunity>
Detect opportunities for the given symbols Read more
Source§fn to_mutation_specs(
&self,
_ctx: &AnalysisContext,
_opportunity: &SuggestOpportunity,
) -> SuggestResult<Vec<MutationSpec>>
fn to_mutation_specs( &self, _ctx: &AnalysisContext, _opportunity: &SuggestOpportunity, ) -> SuggestResult<Vec<MutationSpec>>
Convert a detected opportunity to executable MutationSpecs Read more
Source§fn rule_id(&self) -> Option<&str>
fn rule_id(&self) -> Option<&str>
Optional rule ID for pattern-based rules (e.g., “RL021”).
Returns None for non-pattern suggestions.
Source§fn accepts_params(&self) -> bool
fn accepts_params(&self) -> bool
Whether this suggestion accepts external parameters. Read more
Source§fn param_schema(&self) -> Vec<ParamDef>
fn param_schema(&self) -> Vec<ParamDef>
Schema of accepted parameters (for LLM consumption). Read more
Source§fn detect_with_params(
&self,
ctx: &AnalysisContext,
symbols: &[SymbolId],
_params: &SuggestParams,
) -> Vec<SuggestOpportunity>
fn detect_with_params( &self, ctx: &AnalysisContext, symbols: &[SymbolId], _params: &SuggestParams, ) -> Vec<SuggestOpportunity>
Detect opportunities with external parameters. Read more
Auto Trait Implementations§
impl Freeze for StringErrorType
impl RefUnwindSafe for StringErrorType
impl Send for StringErrorType
impl Sync for StringErrorType
impl Unpin for StringErrorType
impl UnsafeUnpin for StringErrorType
impl UnwindSafe for StringErrorType
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> 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