diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2024-12-29 23:58:42 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2024-12-30 00:07:18 +0100 |
| commit | a657fcc89a1d2b3badc50f101818b8fcd6f220fd (patch) | |
| tree | 658281a4cf92c7c63d678c5a0381f188d0d993f5 /clippy_lints/src | |
| parent | b57d98b00ec53db774cf18e3d9d6fb28e8f60d0f (diff) | |
| download | rust-a657fcc89a1d2b3badc50f101818b8fcd6f220fd.tar.gz rust-a657fcc89a1d2b3badc50f101818b8fcd6f220fd.zip | |
Use the full lifetime name in suggestions
Using `lifetime.ident.name` in suggestions will not output the raw modifier. For example, `'r#struct` will be rendered as `'struct` which would be incorrect.
Diffstat (limited to 'clippy_lints/src')
| -rw-r--r-- | clippy_lints/src/needless_arbitrary_self_type.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clippy_lints/src/needless_arbitrary_self_type.rs b/clippy_lints/src/needless_arbitrary_self_type.rs index 3c47d0edfdc..5f7fde30f03 100644 --- a/clippy_lints/src/needless_arbitrary_self_type.rs +++ b/clippy_lints/src/needless_arbitrary_self_type.rs @@ -1,4 +1,5 @@ use clippy_utils::diagnostics::span_lint_and_sugg; +use clippy_utils::source::snippet_with_applicability; use rustc_ast::ast::{BindingMode, ByRef, Lifetime, Mutability, Param, PatKind, Path, TyKind}; use rustc_errors::Applicability; use rustc_lint::{EarlyContext, EarlyLintPass}; @@ -80,7 +81,8 @@ fn check_param_inner(cx: &EarlyContext<'_>, path: &Path, span: Span, binding_mod applicability = Applicability::HasPlaceholders; "&'_ mut self".to_string() } else { - format!("&{} mut self", &lifetime.ident.name) + let lt_name = snippet_with_applicability(cx, lifetime.ident.span, "..", &mut applicability); + format!("&{lt_name} mut self") } }, (Mode::Ref(None), Mutability::Not) => "&self".to_string(), @@ -89,7 +91,8 @@ fn check_param_inner(cx: &EarlyContext<'_>, path: &Path, span: Span, binding_mod applicability = Applicability::HasPlaceholders; "&'_ self".to_string() } else { - format!("&{} self", &lifetime.ident.name) + let lt_name = snippet_with_applicability(cx, lifetime.ident.span, "..", &mut applicability); + format!("&{lt_name} self") } }, (Mode::Value, Mutability::Mut) => "mut self".to_string(), |
