]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/redundant_allocation_fixable.rs
Auto merge of #97944 - nikic:freebsd-update, r=Mark-Simulacrum
[rust.git] / src / tools / clippy / tests / ui / redundant_allocation_fixable.rs
1 // run-rustfix
2 #![warn(clippy::all)]
3 #![allow(clippy::boxed_local, clippy::needless_pass_by_value)]
4 #![allow(clippy::blacklisted_name, unused_variables, dead_code)]
5 #![allow(unused_imports)]
6
7 pub struct MyStruct;
8
9 pub struct SubT<T> {
10     foo: T,
11 }
12
13 pub enum MyEnum {
14     One,
15     Two,
16 }
17
18 mod outer_box {
19     use crate::MyEnum;
20     use crate::MyStruct;
21     use crate::SubT;
22     use std::boxed::Box;
23     use std::rc::Rc;
24     use std::sync::Arc;
25
26     pub fn box_test1<T>(foo: Box<&T>) {}
27
28     pub fn box_test2(foo: Box<&MyStruct>) {}
29
30     pub fn box_test3(foo: Box<&MyEnum>) {}
31
32     pub fn box_test4_neg(foo: Box<SubT<&usize>>) {}
33
34     pub fn box_test5<T>(foo: Box<Box<T>>) {}
35 }
36
37 mod outer_rc {
38     use crate::MyEnum;
39     use crate::MyStruct;
40     use crate::SubT;
41     use std::boxed::Box;
42     use std::rc::Rc;
43     use std::sync::Arc;
44
45     pub fn rc_test1<T>(foo: Rc<&T>) {}
46
47     pub fn rc_test2(foo: Rc<&MyStruct>) {}
48
49     pub fn rc_test3(foo: Rc<&MyEnum>) {}
50
51     pub fn rc_test4_neg(foo: Rc<SubT<&usize>>) {}
52
53     pub fn rc_test6(a: Rc<Rc<bool>>) {}
54 }
55
56 mod outer_arc {
57     use crate::MyEnum;
58     use crate::MyStruct;
59     use crate::SubT;
60     use std::boxed::Box;
61     use std::rc::Rc;
62     use std::sync::Arc;
63
64     pub fn arc_test1<T>(foo: Arc<&T>) {}
65
66     pub fn arc_test2(foo: Arc<&MyStruct>) {}
67
68     pub fn arc_test3(foo: Arc<&MyEnum>) {}
69
70     pub fn arc_test4_neg(foo: Arc<SubT<&usize>>) {}
71
72     pub fn arc_test7(a: Arc<Arc<bool>>) {}
73 }
74
75 fn main() {}