| //@ check-fail | |
| //@ run-rustfix | |
| #![deny(dropping_references)] | |
| struct SomeStruct; | |
| fn main() { | |
| let _ = &SomeStruct; //~ ERROR calls to `std::mem::drop` | |
| let mut owned1 = SomeStruct; | |
| let _ = &owned1; //~ ERROR calls to `std::mem::drop` | |
| let _ = &&owned1; //~ ERROR calls to `std::mem::drop` | |
| let _ = &mut owned1; //~ ERROR calls to `std::mem::drop` | |
| drop(owned1); | |
| let reference1 = &SomeStruct; | |
| let _ = reference1; //~ ERROR calls to `std::mem::drop` | |
| let reference2 = &mut SomeStruct; | |
| let _ = reference2; //~ ERROR calls to `std::mem::drop` | |
| let ref reference3 = SomeStruct; | |
| let _ = reference3; //~ ERROR calls to `std::mem::drop` | |
| } | |
| #[allow(dead_code)] | |
| fn test_generic_fn_drop<T>(val: T) { | |
| let _ = &val; //~ ERROR calls to `std::mem::drop` | |
| drop(val); | |
| } |