-
-
-
-#![warn(wrong_self_convention)]
-#![warn(wrong_pub_self_convention)]
-#![allow(dead_code, trivially_copy_pass_by_ref)]
+#![warn(clippy::wrong_self_convention)]
+#![warn(clippy::wrong_pub_self_convention)]
+#![allow(dead_code, clippy::trivially_copy_pass_by_ref)]
fn main() {}
struct Foo;
impl Foo {
-
fn as_i32(self) {}
fn as_u32(&self) {}
fn into_i32(self) {}
pub fn to_i64(self) {}
pub fn from_i64(self) {}
// check whether the lint can be allowed at the function level
- #[allow(wrong_self_convention)]
+ #[allow(clippy::wrong_self_convention)]
pub fn from_cake(self) {}
- fn as_x<F: AsRef<Self>>(_: F) { }
- fn as_y<F: AsRef<Foo>>(_: F) { }
+ fn as_x<F: AsRef<Self>>(_: F) {}
+ fn as_y<F: AsRef<Foo>>(_: F) {}
}
struct Bar;
impl Bar {
-
fn as_i32(self) {}
fn as_u32(&self) {}
fn into_i32(&self) {}
fn is_(self) {}
fn to_(self) {}
fn from_(self) {}
+ fn to_mut(&mut self) {}
+}
+
+// Allow Box<Self>, Rc<Self>, Arc<Self> for methods that take conventionally take Self by value
+#[allow(clippy::boxed_local)]
+mod issue4293 {
+ use std::rc::Rc;
+ use std::sync::Arc;
+
+ struct T;
+
+ impl T {
+ fn into_s1(self: Box<Self>) {}
+ fn into_s2(self: Rc<Self>) {}
+ fn into_s3(self: Arc<Self>) {}
+
+ fn into_t1(self: Box<T>) {}
+ fn into_t2(self: Rc<T>) {}
+ fn into_t3(self: Arc<T>) {}
+ }
}