From 19645c4e219acc56f601c13a949cac3b2f7e9b48 Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Mon, 22 Jun 2015 23:08:44 -0700 Subject: [PATCH] Test for a particular parallel codegen corner case --- .../run-pass/parallel-codegen-closures.rs | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/test/run-pass/parallel-codegen-closures.rs diff --git a/src/test/run-pass/parallel-codegen-closures.rs b/src/test/run-pass/parallel-codegen-closures.rs new file mode 100644 index 00000000000..5ba0fe018ed --- /dev/null +++ b/src/test/run-pass/parallel-codegen-closures.rs @@ -0,0 +1,34 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// 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(core)] +#![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() { +} -- 2.44.0