Skip to content

Commit 0c3bc8d

Browse files
Rollup merge of rust-lang#42141 - ids1024:nobacktrace, r=aturon
Fix building std without backtrace feature, which was broken in ca8b754 Fixes rust-lang#42139
2 parents 933f3ee + 66237af commit 0c3bc8d

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/libstd/rt.rs

+5
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ fn lang_start(main: fn(), argc: isize, argv: *const *const u8) -> isize {
3535
use sys_common;
3636
use sys_common::thread_info;
3737
use thread::Thread;
38+
#[cfg(not(feature = "backtrace"))]
39+
use mem;
3840

3941
sys::init();
4042

@@ -53,9 +55,12 @@ fn lang_start(main: fn(), argc: isize, argv: *const *const u8) -> isize {
5355
sys::args::init(argc, argv);
5456

5557
// Let's run some code!
58+
#[cfg(feature = "backtrace")]
5659
let res = panic::catch_unwind(|| {
5760
::sys_common::backtrace::__rust_begin_short_backtrace(main)
5861
});
62+
#[cfg(not(feature = "backtrace"))]
63+
let res = panic::catch_unwind(mem::transmute::<_, fn()>(main));
5964
sys_common::cleanup();
6065
res.is_err()
6166
};

src/libstd/thread/mod.rs

+3
Original file line numberDiff line numberDiff line change
@@ -359,9 +359,12 @@ impl Builder {
359359
}
360360
unsafe {
361361
thread_info::set(imp::guard::current(), their_thread);
362+
#[cfg(feature = "backtrace")]
362363
let try_result = panic::catch_unwind(panic::AssertUnwindSafe(|| {
363364
::sys_common::backtrace::__rust_begin_short_backtrace(f)
364365
}));
366+
#[cfg(not(feature = "backtrace"))]
367+
let try_result = panic::catch_unwind(panic::AssertUnwindSafe(f));
365368
*their_packet.get() = Some(try_result);
366369
}
367370
};

0 commit comments

Comments
 (0)