//@ check-pass

#![allow(dropping_references)]

fn main() {
    struct U;
    fn accept_fn_once(_: impl FnOnce()) {}
    fn accept_fn_mut(_: impl FnMut()) {}
    fn accept_fn(_: impl Fn()) {}

    let mut tup = (U, U, U);
    let (ref _x0, _x1, ref mut _x2) = tup;
    let c1 = || {
        drop::<&U>(_x0);
        drop::<U>(_x1);
        drop::<&mut U>(_x2);
    };
    accept_fn_once(c1);

    let c2 = || {
        drop::<&U>(_x0);
        drop::<&mut U>(_x2);
    };
    accept_fn_mut(c2);

    let c3 = || {
        drop::<&U>(_x0);
    };
    accept_fn(c3);
}
