2025-08-15 14:16:32 +08:00
|
|
|
// Test for #111520, which causes an ice bug cause of reading stolen value
|
|
|
|
|
//
|
2024-02-07 15:26:57 +08:00
|
|
|
//@ compile-flags: -Z threads=16
|
|
|
|
|
//@ run-pass
|
2025-08-15 14:16:32 +08:00
|
|
|
//@ compare-output-by-lines
|
2024-02-07 15:26:57 +08:00
|
|
|
|
|
|
|
|
#[repr(transparent)]
|
|
|
|
|
struct Sched {
|
|
|
|
|
i: i32,
|
|
|
|
|
}
|
|
|
|
|
impl Sched {
|
2025-08-15 14:16:32 +08:00
|
|
|
extern "C" fn get(self) -> i32 {
|
|
|
|
|
self.i
|
|
|
|
|
}
|
2024-02-07 15:26:57 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
let s = Sched { i: 4 };
|
2025-08-15 14:16:32 +08:00
|
|
|
let f = || -> i32 { s.get() };
|
2024-02-07 15:26:57 +08:00
|
|
|
println!("f: {}", f());
|
|
|
|
|
}
|