diff options
| author | lengyijun <sjtu5140809011@gmail.com> | 2021-09-17 11:48:21 +0800 |
|---|---|---|
| committer | lengyijun <sjtu5140809011@gmail.com> | 2021-09-22 16:04:04 +0800 |
| commit | b68325ecf6dfd87d2dda5c6b3f3d3b0bcc315d3e (patch) | |
| tree | 54c2923ffee4dbaaabe09c244b7c5d21e06ac00d | |
| parent | 59cd77710d73ba65d56f0c5c167ef503174a4826 (diff) | |
| download | rust-b68325ecf6dfd87d2dda5c6b3f3d3b0bcc315d3e.tar.gz rust-b68325ecf6dfd87d2dda5c6b3f3d3b0bcc315d3e.zip | |
add #4546 test
| -rw-r--r-- | clippy_lints/src/methods/mod.rs | 2 | ||||
| -rw-r--r-- | tests/ui/wrong_self_convention2.rs | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/clippy_lints/src/methods/mod.rs b/clippy_lints/src/methods/mod.rs index e89b2d295b9..486208f0fad 100644 --- a/clippy_lints/src/methods/mod.rs +++ b/clippy_lints/src/methods/mod.rs @@ -264,6 +264,8 @@ declare_clippy_lint! { /// The method signature is controlled by the trait and often `&self` is required for all types that implement the trait /// (see e.g. the `std::string::ToString` trait). /// + /// Clippy allows `Pin<&Self>` and `Pin<&mut Self>` if `&self` and `&mut self` is required. + /// /// Please find more info here: /// https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv /// diff --git a/tests/ui/wrong_self_convention2.rs b/tests/ui/wrong_self_convention2.rs index dd3e842c925..0d827c1feb3 100644 --- a/tests/ui/wrong_self_convention2.rs +++ b/tests/ui/wrong_self_convention2.rs @@ -87,3 +87,21 @@ mod issue3414 { } } } + +// don't trigger +mod issue4546 { + use std::pin::Pin; + + struct S; + impl S { + pub fn as_mut(self: Pin<&mut Self>) {} + + pub fn as_other_thingy(self: Pin<&Self>) {} + + pub fn is_other_thingy(self: Pin<&Self>) {} + + pub fn to_mut(self: Pin<&mut Self>) {} + + pub fn to_other_thingy(self: Pin<&Self>) {} + } +} |
