// run-pass
// Test by-ref capture of environment in unboxed closure types

fn call_fn<F: Fn()>(f: F) {
    f()
}

fn call_fn_mut<F: FnMut()>(mut f: F) {
    f()
}

fn call_fn_once<F: FnOnce()>(f: F) {
    f()
}

fn main() {
    let mut x = 0_usize;
    let y = 2_usize;

    call_fn(|| assert_eq!(x, 0));
    call_fn_mut(|| x += y);
    call_fn_once(|| x += y);
    assert_eq!(x, y * 2);
}
