diff options
| author | Sosthène Guédon <sosthene@guedon.gdn> | 2022-11-02 19:02:46 +0100 |
|---|---|---|
| committer | Sosthène Guédon <sosthene@guedon.gdn> | 2022-11-20 13:45:12 +0100 |
| commit | a867c17ab36926a575a57e24a03e99db672055f2 (patch) | |
| tree | f5605219f90fe84ec3af0b7b4bdbbb68a3dd6030 | |
| parent | 3428da6e00c025b3b3141a9fe7c65ee5008e07f3 (diff) | |
| download | rust-a867c17ab36926a575a57e24a03e99db672055f2.tar.gz rust-a867c17ab36926a575a57e24a03e99db672055f2.zip | |
Improve code
| -rw-r--r-- | clippy_lints/src/functions/misnamed_getters.rs | 13 | ||||
| -rw-r--r-- | tests/ui/misnamed_getters.rs | 23 |
2 files changed, 30 insertions, 6 deletions
diff --git a/clippy_lints/src/functions/misnamed_getters.rs b/clippy_lints/src/functions/misnamed_getters.rs index 3859c7a62ea..0d50ec37989 100644 --- a/clippy_lints/src/functions/misnamed_getters.rs +++ b/clippy_lints/src/functions/misnamed_getters.rs @@ -16,7 +16,7 @@ pub fn check_fn( span: Span, _hir_id: HirId, ) { - let FnKind::Method(ref ident, sig) = kind else { + let FnKind::Method(ref ident, _) = kind else { return; }; @@ -27,7 +27,7 @@ pub fn check_fn( let name = ident.name.as_str(); - let name = match sig.decl.implicit_self { + let name = match decl.implicit_self { ImplicitSelfKind::MutRef => { let Some(name) = name.strip_suffix("_mut") else { return; @@ -53,11 +53,12 @@ pub fn check_fn( }; let expr_span = block_expr.span; - let mut expr = block_expr; // Accept &<expr>, &mut <expr> and <expr> - if let ExprKind::AddrOf(_, _, tmp) = expr.kind { - expr = tmp; - } + let expr = if let ExprKind::AddrOf(_, _, tmp) = block_expr.kind { + tmp + } else { + block_expr + }; let (self_data, used_ident) = if_chain! { if let ExprKind::Field(self_data, ident) = expr.kind; if ident.name.as_str() != name; diff --git a/tests/ui/misnamed_getters.rs b/tests/ui/misnamed_getters.rs index 7d490f4b143..6f161818251 100644 --- a/tests/ui/misnamed_getters.rs +++ b/tests/ui/misnamed_getters.rs @@ -60,6 +60,29 @@ impl B { unsafe fn c_mut(&mut self) -> &mut u8 { &mut self.a } + + unsafe fn a_unchecked(&self) -> &u8 { + &self.b + } + unsafe fn a_unchecked_mut(&mut self) -> &mut u8 { + &mut self.b + } + + unsafe fn b_unchecked(self) -> u8 { + self.a + } + + unsafe fn b_unchecked_mut(&mut self) -> &mut u8 { + &mut self.a + } + + unsafe fn c_unchecked(&self) -> &u8 { + &self.b + } + + unsafe fn c_unchecked_mut(&mut self) -> &mut u8 { + &mut self.a + } } fn main() { |
