Skip to content

Commit d53e6f8

Browse files
committed
Add tests for more than one level of reference
1 parent 1a6bfec commit d53e6f8

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

tests/ui/mem_discriminant.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,16 @@ fn main() {
4040

4141
mem_discriminant_but_in_a_macro!(&rro);
4242

43+
let rrrrro = &&&rro;
44+
mem::discriminant(&rrrrro);
45+
mem::discriminant(*rrrrro);
46+
4347
// ok
4448
mem::discriminant(&Some(2));
4549
mem::discriminant(&None::<u8>);
4650
mem::discriminant(&Foo::One(5));
4751
mem::discriminant(&Foo::Two(5));
4852
mem::discriminant(ro);
53+
mem::discriminant(*rro);
54+
mem::discriminant(****rrrrro);
4955
}

tests/ui/mem_discriminant.stderr

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,21 @@ error: calling `mem::discriminant` on non-enum type `&&std::option::Option<i32>`
8484
| | help: try dereferencing: `*rro`
8585
| in this macro invocation
8686

87-
error: aborting due to 10 previous errors
87+
error: calling `mem::discriminant` on non-enum type `&&&&&std::option::Option<i32>`
88+
--> $DIR/mem_discriminant.rs:44:5
89+
|
90+
44 | mem::discriminant(&rrrrro);
91+
| ^^^^^^^^^^^^^^^^^^-------^
92+
| |
93+
| help: try dereferencing: `****rrrrro`
94+
95+
error: calling `mem::discriminant` on non-enum type `&&&std::option::Option<i32>`
96+
--> $DIR/mem_discriminant.rs:45:5
97+
|
98+
45 | mem::discriminant(*rrrrro);
99+
| ^^^^^^^^^^^^^^^^^^-------^
100+
| |
101+
| help: try dereferencing: `****rrrrro`
102+
103+
error: aborting due to 12 previous errors
88104

0 commit comments

Comments
 (0)