]> git.lizzy.rs Git - rust.git/blob - tests/ui/mem_discriminant.rs
iterate List by value
[rust.git] / tests / ui / mem_discriminant.rs
1 // run-rustfix
2
3 #![deny(clippy::mem_discriminant_non_enum)]
4
5 use std::mem;
6
7 enum Foo {
8     One(usize),
9     Two(u8),
10 }
11
12 fn main() {
13     // bad
14     mem::discriminant(&&Some(2));
15     mem::discriminant(&&None::<u8>);
16     mem::discriminant(&&Foo::One(5));
17     mem::discriminant(&&Foo::Two(5));
18
19     let ro = &Some(3);
20     let rro = &ro;
21     mem::discriminant(&ro);
22     mem::discriminant(rro);
23     mem::discriminant(&rro);
24
25     macro_rules! mem_discriminant_but_in_a_macro {
26         ($param:expr) => {
27             mem::discriminant($param)
28         };
29     }
30
31     mem_discriminant_but_in_a_macro!(&rro);
32
33     let rrrrro = &&&rro;
34     mem::discriminant(&rrrrro);
35     mem::discriminant(*rrrrro);
36
37     // ok
38     mem::discriminant(&Some(2));
39     mem::discriminant(&None::<u8>);
40     mem::discriminant(&Foo::One(5));
41     mem::discriminant(&Foo::Two(5));
42     mem::discriminant(ro);
43     mem::discriminant(*rro);
44     mem::discriminant(****rrrrro);
45 }