Skip to content

Commit 4ffeb2e

Browse files
committed
Auto merge of #26517 - nrc:fix-parallel-codegen, r=arielb1
Closes #26420 r? @nikomatsakis
2 parents 1745019 + 19645c4 commit 4ffeb2e

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

src/librustc/middle/ty.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3283,6 +3283,7 @@ impl FlagComputation {
32833283
}
32843284

32853285
&TyClosure(_, substs) => {
3286+
self.add_flags(TypeFlags::HAS_TY_CLOSURE);
32863287
self.add_flags(TypeFlags::HAS_LOCAL_NAMES);
32873288
self.add_substs(substs);
32883289
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// Tests parallel codegen - this can fail if the symbol for the anonymous
12+
// closure in `sum` pollutes the second codegen unit from the first.
13+
14+
// compile-flags: -C codegen_units=2
15+
16+
#![feature(core)]
17+
#![feature(iter_arith)]
18+
19+
mod a {
20+
fn foo() {
21+
let x = ["a", "bob", "c"];
22+
let len: usize = x.iter().map(|s| s.len()).sum();
23+
}
24+
}
25+
26+
mod b {
27+
fn bar() {
28+
let x = ["a", "bob", "c"];
29+
let len: usize = x.iter().map(|s| s.len()).sum();
30+
}
31+
}
32+
33+
fn main() {
34+
}

0 commit comments

Comments
 (0)