]>
Commit | Line | Data |
---|---|---|
b7449926 XL |
1 | // run-pass |
2 | #![allow(non_camel_case_types)] | |
3 | ||
1a4d82fc | 4 | struct closure_box<'a> { |
dc9dc135 | 5 | cl: Box<dyn FnMut() + 'a>, |
223e47cc LB |
6 | } |
7 | ||
dc9dc135 | 8 | fn box_it<'a>(x: Box<dyn FnMut() + 'a>) -> closure_box<'a> { |
223e47cc LB |
9 | closure_box {cl: x} |
10 | } | |
11 | ||
12 | pub fn main() { | |
c34b1796 | 13 | let mut i = 3; |
970d7e83 | 14 | assert_eq!(i, 3); |
1a4d82fc | 15 | { |
85aaf69f | 16 | let cl = || i += 1; |
c34b1796 | 17 | let mut cl_box = box_it(Box::new(cl)); |
92a42be0 | 18 | (cl_box.cl)(); |
1a4d82fc | 19 | } |
970d7e83 | 20 | assert_eq!(i, 4); |
223e47cc | 21 | } |