about summary refs log tree commit diff
path: root/src/tools/miri/tests/pass/backtrace/backtrace-std.rs
blob: b2a5ac180298cf84ca9eedf41d346c7e344b9393 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//@compile-flags: -Zmiri-disable-isolation
//@rustc-env: RUST_BACKTRACE=1

use std::backtrace::Backtrace;

#[inline(never)]
fn func_a() -> Backtrace {
    func_b::<u8>()
}
#[inline(never)]
fn func_b<T>() -> Backtrace {
    func_c()
}

macro_rules! invoke_func_d {
    () => {
        func_d()
    };
}

#[inline(never)]
fn func_c() -> Backtrace {
    invoke_func_d!()
}
#[inline(never)]
fn func_d() -> Backtrace {
    Backtrace::capture()
}

fn main() {
    eprint!("{}", func_a());
}