#![warn(clippy::all)] #![allow(clippy::boxed_local, clippy::needless_pass_by_value)] #![allow(clippy::disallowed_names, unused_variables, dead_code)] #![allow(unused_imports)] pub struct MyStruct; pub struct SubT { foo: T, } pub enum MyEnum { One, Two, } mod outer_box { use crate::{MyEnum, MyStruct, SubT}; use std::boxed::Box; use std::rc::Rc; use std::sync::Arc; pub fn box_test1(foo: &T) {} pub fn box_test2(foo: &MyStruct) {} pub fn box_test3(foo: &MyEnum) {} pub fn box_test4_neg(foo: Box>) {} pub fn box_test5(foo: Box) {} } mod outer_rc { use crate::{MyEnum, MyStruct, SubT}; use std::boxed::Box; use std::rc::Rc; use std::sync::Arc; pub fn rc_test1(foo: &T) {} pub fn rc_test2(foo: &MyStruct) {} pub fn rc_test3(foo: &MyEnum) {} pub fn rc_test4_neg(foo: Rc>) {} pub fn rc_test6(a: Rc) {} } mod outer_arc { use crate::{MyEnum, MyStruct, SubT}; use std::boxed::Box; use std::rc::Rc; use std::sync::Arc; pub fn arc_test1(foo: &T) {} pub fn arc_test2(foo: &MyStruct) {} pub fn arc_test3(foo: &MyEnum) {} pub fn arc_test4_neg(foo: Arc>) {} pub fn arc_test7(a: Arc) {} } fn main() {}