//@ 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);
}
