From 3c76b2ceff3526b2d46abb1bbd38180131578808 Mon Sep 17 00:00:00 2001 From: roife Date: Thu, 8 Feb 2024 13:45:57 +0800 Subject: [PATCH] Merging the calculation of sugg and applicability --- .../unnecessary_fallible_conversions.rs | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/clippy_lints/src/methods/unnecessary_fallible_conversions.rs b/clippy_lints/src/methods/unnecessary_fallible_conversions.rs index bb23ae5f8437..d46b584f8f44 100644 --- a/clippy_lints/src/methods/unnecessary_fallible_conversions.rs +++ b/clippy_lints/src/methods/unnecessary_fallible_conversions.rs @@ -30,14 +30,19 @@ enum FunctionKind { } impl FunctionKind { - fn applicability(&self, parent_unwrap_call: &Option) -> Applicability { - if parent_unwrap_call.is_none() { - return Applicability::Unspecified; - } + fn appl_sugg(&self, parent_unwrap_call: Option, primary_span: Span) -> (Applicability, Vec<(Span, String)>) { + let Some(unwrap_span) = parent_unwrap_call else { + return (Applicability::Unspecified, self.default_sugg(primary_span)); + }; match &self { - FunctionKind::TryFromFunction(None) | FunctionKind::TryIntoFunction(None) => Applicability::Unspecified, - _ => Applicability::MachineApplicable, + FunctionKind::TryFromFunction(None) | FunctionKind::TryIntoFunction(None) => { + (Applicability::Unspecified, self.default_sugg(primary_span)) + }, + _ => ( + Applicability::MachineApplicable, + self.machine_applicable_sugg(primary_span, unwrap_span), + ), } } @@ -123,13 +128,7 @@ fn check<'tcx>( FunctionKind::TryFromFunction(_) => (other_ty, self_ty), }; - let applicability = kind.applicability(&parent_unwrap_call); - - let sugg = if applicability == Applicability::MachineApplicable { - kind.machine_applicable_sugg(primary_span, parent_unwrap_call.unwrap()) - } else { - kind.default_sugg(primary_span) - }; + let (applicability, sugg) = kind.appl_sugg(parent_unwrap_call, primary_span); span_lint_and_then( cx,