2012-08-20 18:53:33 -05:00
|
|
|
struct closure_box {
|
2012-09-07 16:50:47 -05:00
|
|
|
cl: &fn(),
|
2012-08-20 18:53:33 -05:00
|
|
|
}
|
|
|
|
|
2012-09-19 00:45:24 -05:00
|
|
|
fn box_it(+x: &r/fn()) -> closure_box/&r {
|
|
|
|
closure_box {cl: move x}
|
2012-08-20 18:53:33 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let mut i = 3;
|
|
|
|
let cl_box = box_it(|| i += 1);
|
|
|
|
assert i == 3;
|
|
|
|
cl_box.cl();
|
|
|
|
assert i == 4;
|
|
|
|
}
|