diff options
Diffstat (limited to 'tests/ui/issues/issue-2190-1.rs')
-rw-r--r-- | tests/ui/issues/issue-2190-1.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-2190-1.rs b/tests/ui/issues/issue-2190-1.rs new file mode 100644 index 000000000..e67a924b9 --- /dev/null +++ b/tests/ui/issues/issue-2190-1.rs @@ -0,0 +1,26 @@ +// run-pass +#![allow(unused_must_use)] +#![allow(non_upper_case_globals)] + +// pretty-expanded FIXME #23616 +// ignore-emscripten no threads + +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)); +} |