4 const FOO: fn(u8) -> u8 = |v: u8| { v };
6 const BAR: [fn(&mut u32); 5] = [
10 |v: &mut u32| *v += 3,
11 |v: &mut u32| *v += 4,
13 fn func_specific() -> fn() -> u32 {
17 fn generic<T>(_: T) -> fn() -> usize {
18 || mem::size_of::<T>()
23 assert_eq!(func_specific()(), 42);
24 let foo: fn(u8) -> u8 = |v: u8| { v };
25 assert_eq!(foo(31), 31);
27 assert_eq!(FOO(31), 31);
29 assert_eq!({ BAR[0](&mut a); a }, 0);
30 assert_eq!({ BAR[1](&mut a); a }, 1);
31 assert_eq!({ BAR[2](&mut a); a }, 3);
32 assert_eq!({ BAR[3](&mut a); a }, 6);
33 assert_eq!({ BAR[4](&mut a); a }, 10);
34 assert_eq!(generic(0i8)(), 1);