Add tests for more than one level of reference

This commit is contained in:
HMPerson1 2018-10-24 22:27:47 -04:00
parent 1a6bfecf38
commit d53e6f87e9
No known key found for this signature in database
GPG key ID: 1FB477DDD27821CE
2 changed files with 23 additions and 1 deletions

View file

@ -40,10 +40,16 @@ fn main() {
mem_discriminant_but_in_a_macro!(&rro);
let rrrrro = &&&rro;
mem::discriminant(&rrrrro);
mem::discriminant(*rrrrro);
// ok
mem::discriminant(&Some(2));
mem::discriminant(&None::<u8>);
mem::discriminant(&Foo::One(5));
mem::discriminant(&Foo::Two(5));
mem::discriminant(ro);
mem::discriminant(*rro);
mem::discriminant(****rrrrro);
}

View file

@ -84,5 +84,21 @@ error: calling `mem::discriminant` on non-enum type `&&std::option::Option<i32>`
| | help: try dereferencing: `*rro`
| in this macro invocation
error: aborting due to 10 previous errors
error: calling `mem::discriminant` on non-enum type `&&&&&std::option::Option<i32>`
--> $DIR/mem_discriminant.rs:44:5
|
44 | mem::discriminant(&rrrrro);
| ^^^^^^^^^^^^^^^^^^-------^
| |
| help: try dereferencing: `****rrrrro`
error: calling `mem::discriminant` on non-enum type `&&&std::option::Option<i32>`
--> $DIR/mem_discriminant.rs:45:5
|
45 | mem::discriminant(*rrrrro);
| ^^^^^^^^^^^^^^^^^^-------^
| |
| help: try dereferencing: `****rrrrro`
error: aborting due to 12 previous errors