fn main() {
    let x = 3;

    let closure_slision = fun(|x: &i32| -> &i32 {
        println!("{}", x);
        x
    });
    closure_slision(&x);
}
fn fun<T, F: Fn(&T) -> &T>(f: F) -> F {
    f
}