]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/wrong_self_convention.rs
Auto merge of #4478 - tsurai:master, r=flip1995
[rust.git] / tests / ui / wrong_self_convention.rs
index 1e718c1c648f2c38c7a6332b91d25ea46b3132bd..7567fa7158cb0b3666211a91628c50c2855051ac 100644 (file)
@@ -1,6 +1,3 @@
-#![feature(tool_lints)]
-
-
 #![warn(clippy::wrong_self_convention)]
 #![warn(clippy::wrong_pub_self_convention)]
 #![allow(dead_code, clippy::trivially_copy_pass_by_ref)]
@@ -11,7 +8,6 @@ fn main() {}
 struct Foo;
 
 impl Foo {
-
     fn as_i32(self) {}
     fn as_u32(&self) {}
     fn into_i32(self) {}
@@ -29,14 +25,13 @@ pub fn from_i64(self) {}
     #[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) {}
@@ -59,4 +54,24 @@ fn into_(&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>) {}
+    }
 }