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