]> git.proxmox.com Git - rustc.git/blame - src/test/ui/regions/regions-copy-closure.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / regions / regions-copy-closure.rs
CommitLineData
b7449926
XL
1// run-pass
2#![allow(non_camel_case_types)]
3
1a4d82fc 4struct closure_box<'a> {
dc9dc135 5 cl: Box<dyn FnMut() + 'a>,
223e47cc
LB
6}
7
dc9dc135 8fn box_it<'a>(x: Box<dyn FnMut() + 'a>) -> closure_box<'a> {
223e47cc
LB
9 closure_box {cl: x}
10}
11
12pub 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}