1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
// The various #[inline(never)] annotations and std::hint::black_box calls are
// an attempt to make unwinding as non-flaky as possible on i686-pc-windows-msvc.
#[inline(never)]
fn generate_backtrace(x: &u32) {
std::hint::black_box(x);
let bt = std::backtrace::Backtrace::force_capture();
println!("{}", bt);
std::hint::black_box(x);
}
#[inline(never)]
fn fn_in_backtrace(x: &u32) {
std::hint::black_box(x);
generate_backtrace(x);
std::hint::black_box(x);
}
fn main() {
let x = &41;
std::hint::black_box(x);
fn_in_backtrace(x);
std::hint::black_box(x);
}
|