-#![feature(tool_lints)]
-
-
#![warn(clippy::wrong_self_convention)]
#![warn(clippy::wrong_pub_self_convention)]
#![allow(dead_code, clippy::trivially_copy_pass_by_ref)]
struct Foo;
impl Foo {
-
fn as_i32(self) {}
fn as_u32(&self) {}
fn into_i32(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) {}
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>) {}
+ }
}