blob: e4e4bf9dbbee54d2061ce123c54f425892737cd2 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 | //@ check-pass
use std::thread::Builder;
static GENERATIONS: usize = 1024+256+128+49;
fn spawn(mut f: Box<dyn FnMut() + 'static + Send>) {
    Builder::new().stack_size(32 * 1024).spawn(move || f());
}
fn child_no(x: usize) -> Box<dyn FnMut() + 'static + Send> {
    Box::new(move || {
        if x < GENERATIONS {
            spawn(child_no(x+1));
        }
    })
}
pub fn main() {
    spawn(child_no(0));
}
 |