about summary refs log tree commit diff
path: root/tests/ui/parallel-rustc/read-stolen-value-issue-111520.rs
blob: a6b37e6291375bbf8750c208af3fdb42dbe73447 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Test for #111520, which causes an ice bug cause of reading stolen value
//
//@ compile-flags: -Z threads=16
//@ run-pass
//@ compare-output-by-lines

#[repr(transparent)]
struct Sched {
    i: i32,
}
impl Sched {
    extern "C" fn get(self) -> i32 {
        self.i
    }
}

fn main() {
    let s = Sched { i: 4 };
    let f = || -> i32 { s.get() };
    println!("f: {}", f());
}