diff options
Diffstat (limited to 'src/test/ui/functions-closures/parallel-codegen-closures.rs')
-rw-r--r-- | src/test/ui/functions-closures/parallel-codegen-closures.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/functions-closures/parallel-codegen-closures.rs b/src/test/ui/functions-closures/parallel-codegen-closures.rs new file mode 100644 index 000000000..79759daba --- /dev/null +++ b/src/test/ui/functions-closures/parallel-codegen-closures.rs @@ -0,0 +1,28 @@ +// run-pass +#![allow(dead_code)] +#![allow(unused_variables)] +#![allow(stable_features)] + +// Tests parallel codegen - this can fail if the symbol for the anonymous +// closure in `sum` pollutes the second codegen unit from the first. + +// compile-flags: -C codegen_units=2 + +#![feature(iter_arith)] + +mod a { + fn foo() { + let x = ["a", "bob", "c"]; + let len: usize = x.iter().map(|s| s.len()).sum(); + } +} + +mod b { + fn bar() { + let x = ["a", "bob", "c"]; + let len: usize = x.iter().map(|s| s.len()).sum(); + } +} + +fn main() { +} |