]>
Commit | Line | Data |
---|---|---|
abe05a73 XL |
1 | |
2 | ||
ea8adc8c XL |
3 | |
4 | #![allow(unused_variables)] | |
5 | ||
6 | fn takes_an_immutable_reference(a: &i32) {} | |
7 | fn takes_a_mutable_reference(a: &mut i32) {} | |
8 | ||
9 | struct MyStruct; | |
10 | ||
11 | impl MyStruct { | |
12 | fn takes_an_immutable_reference(&self, a: &i32) { | |
13 | } | |
14 | ||
15 | fn takes_a_mutable_reference(&self, a: &mut i32) { | |
16 | } | |
17 | } | |
18 | ||
19 | #[warn(unnecessary_mut_passed)] | |
20 | fn main() { | |
21 | // Functions | |
22 | takes_an_immutable_reference(&mut 42); | |
23 | let as_ptr: fn(&i32) = takes_an_immutable_reference; | |
24 | as_ptr(&mut 42); | |
25 | ||
26 | // Methods | |
27 | let my_struct = MyStruct; | |
28 | my_struct.takes_an_immutable_reference(&mut 42); | |
29 | ||
30 | ||
31 | // No error | |
32 | ||
33 | // Functions | |
34 | takes_an_immutable_reference(&42); | |
35 | let as_ptr: fn(&i32) = takes_an_immutable_reference; | |
36 | as_ptr(&42); | |
37 | ||
38 | takes_a_mutable_reference(&mut 42); | |
39 | let as_ptr: fn(&mut i32) = takes_a_mutable_reference; | |
40 | as_ptr(&mut 42); | |
41 | ||
42 | let a = &mut 42; | |
43 | takes_an_immutable_reference(a); | |
44 | ||
45 | // Methods | |
46 | my_struct.takes_an_immutable_reference(&42); | |
47 | my_struct.takes_a_mutable_reference(&mut 42); | |
48 | my_struct.takes_an_immutable_reference(a); | |
49 | } |