Open
Description
I tried this code:
struct DropPanic;
impl Drop for DropPanic {
fn drop(&mut self) {
panic!("panic in drop");
}
}
fn main() {
let _bomb = DropPanic;
panic!("panic in main");
}
I expected to see this happen: I would see a "panic in a destructor during cleanup" message and the program would abort.
Instead, this happened: The second panic prints a full backtrace and then the program exits with STATUS_STACK_BUFFER_OVERRUN
(that's a __fastfail
; before, it was STATUS_ILLEGAL_INSTRUCTION
: intrinsics::abort
instead of process::abort
.)
Meta
I didn't bisect to the specific release that changed this, but it's due to the change to allow well-nested unwinds with catch_unwind
in destructors during cleanup. I also didn't test whether windows-gnu also behaves like this (if it still uses SEH unwinding, it does).
rustc 1.56.1 (59eed8a 2021-11-01) output (abort message)
thread 'main' panicked at 'panic in main', src\main.rs:10:5
stack backtrace:
0: std::panicking::begin_panic_handler
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:517
1: core::panicking::panic_fmt
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\core\src\panicking.rs:101
2: cad97_playground::main
at .\src\main.rs:10
3: core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\library\core\src\ops\function.rs:227
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at 'panic in drop', src\main.rs:4:9
stack backtrace:
0: 0x7ff60b526cfe - std::backtrace_rs::backtrace::dbghelp::trace
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
1: 0x7ff60b526cfe - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ff60b526cfe - std::sys_common::backtrace::_print_fmt
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\sys_common\backtrace.rs:67
3: 0x7ff60b526cfe - std::sys_common::backtrace::_print::impl$0::fmt
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\sys_common\backtrace.rs:46
4: 0x7ff60b53527a - core::fmt::write
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\core\src\fmt\mod.rs:1150
5: 0x7ff60b524fa8 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\io\mod.rs:1667
6: 0x7ff60b528f16 - std::sys_common::backtrace::_print
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\sys_common\backtrace.rs:49
7: 0x7ff60b528f16 - std::sys_common::backtrace::print
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\sys_common\backtrace.rs:36
8: 0x7ff60b528f16 - std::panicking::default_hook::closure$1
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:210
9: 0x7ff60b528a04 - std::panicking::default_hook
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:227
10: 0x7ff60b529575 - std::panicking::rust_panic_with_hook
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:624
11: 0x7ff60b52912f - std::panicking::begin_panic_handler::closure$0
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:519
12: 0x7ff60b527647 - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure$0,never$>
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\sys_common\backtrace.rs:141
13: 0x7ff60b5290b9 - std::panicking::begin_panic_handler
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:517
14: 0x7ff60b539ac0 - core::panicking::panic_fmt
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\core\src\panicking.rs:101
15: 0x7ff60b52139f - cad97_playground::impl$0::drop
at D:\git\cad97\playground\src\main.rs:4
16: 0x7ff60b52132e - core::ptr::drop_in_place<cad97_playground::DropPanic>
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\library\core\src\ptr\mod.rs:188
17: 0x7ff60b5210c7 - cad97_playground::main
at D:\git\cad97\playground\src\main.rs:11
18: 0x7ffb62171060 - <unknown>
19: 0x7ffb621753ea - is_exception_typeof
20: 0x7ffb6217fb80 - _C_specific_handler
21: 0x7ffb621745f0 - is_exception_typeof
22: 0x7ffb621804b1 - _CxxFrameHandler3
23: 0x7ffb74ed448f - _chkstk
24: 0x7ffb74e4fd54 - RtlUnwindEx
25: 0x7ffb62180046 - _C_specific_handler
26: 0x7ffb62173245 - is_exception_typeof
27: 0x7ffb62173666 - is_exception_typeof
28: 0x7ffb621746ec - is_exception_typeof
29: 0x7ffb621804b1 - _CxxFrameHandler3
30: 0x7ffb74ed440f - _chkstk
31: 0x7ffb74e4e466 - RtlFindCharInUnicodeString
32: 0x7ffb74e84465 - RtlRaiseException
33: 0x7ffb727053ac - RaiseException
34: 0x7ffb62176ba7 - CxxThrowException
35: 0x7ff60b52c911 - panic_unwind::real_imp::panic
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\panic_unwind\src\seh.rs:313
36: 0x7ff60b52c899 - panic_unwind::__rust_start_panic
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\panic_unwind\src\lib.rs:105
37: 0x7ff60b52982b - std::panicking::rust_panic
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:672
38: 0x7ff60b52972b - std::panicking::rust_panic_with_hook
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:642
39: 0x7ff60b52912f - std::panicking::begin_panic_handler::closure$0
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:519
40: 0x7ff60b527647 - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure$0,never$>
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\sys_common\backtrace.rs:141
41: 0x7ff60b5290b9 - std::panicking::begin_panic_handler
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:517
42: 0x7ff60b539ac0 - core::panicking::panic_fmt
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\core\src\panicking.rs:101
43: 0x7ff60b5210a0 - cad97_playground::main
at D:\git\cad97\playground\src\main.rs:10
44: 0x7ff60b5212bb - core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\library\core\src\ops\function.rs:227
45: 0x7ff60b52101b - std::sys_common::backtrace::__rust_begin_short_backtrace<void (*)(),tuple$<> >
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\library\std\src\sys_common\backtrace.rs:125
46: 0x7ff60b521151 - std::rt::lang_start::closure$0<tuple$<> >
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\library\std\src\rt.rs:63
47: 0x7ff60b5299c6 - core::ops::function::impls::impl$2::call_once
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\library\core\src\ops\function.rs:259
48: 0x7ff60b5299c6 - std::panicking::try::do_call
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:403
49: 0x7ff60b5299c6 - std::panicking::try
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:367
50: 0x7ff60b5299c6 - std::panic::catch_unwind
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panic.rs:129
51: 0x7ff60b5299c6 - std::rt::lang_start_internal::closure$2
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\rt.rs:45
52: 0x7ff60b5299c6 - std::panicking::try::do_call
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:403
53: 0x7ff60b5299c6 - std::panicking::try
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panicking.rs:367
54: 0x7ff60b5299c6 - std::panic::catch_unwind
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\panic.rs:129
55: 0x7ff60b5299c6 - std::rt::lang_start_internal
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\/library\std\src\rt.rs:45
56: 0x7ff60b52111f - std::rt::lang_start<tuple$<> >
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35\library\std\src\rt.rs:62
57: 0x7ff60b5210e6 - main
58: 0x7ff60b538874 - invoke_main
at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
59: 0x7ff60b538874 - __scrt_common_main_seh
at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
60: 0x7ffb746e257d - BaseThreadInitThunk
61: 0x7ffb74e8aa48 - RtlUserThreadStart
thread panicked while panicking. aborting.
rustc 1.79.0-nightly (8df7e72 2024-03-30) output (no abort message)
thread 'main' panicked at src\main.rs:10:5:
panic in main
stack backtrace:
0: std::panicking::begin_panic_handler
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:646
1: core::panicking::panic_fmt
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\core\src\panicking.rs:72
2: cad97_playground::main
at .\src\main.rs:10
3: core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373\library\core\src\ops\function.rs:250
4: core::hint::black_box
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373\library\core\src\hint.rs:338
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at src\main.rs:4:9:
panic in drop
stack backtrace:
0: 0x7ff79eca63ea - std::backtrace_rs::backtrace::dbghelp64::trace
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\..\..\backtrace\src\backtrace\dbghelp64.rs:99
1: 0x7ff79eca63ea - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ff79eca63ea - std::sys_common::backtrace::_print_fmt
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\sys_common\backtrace.rs:68
3: 0x7ff79eca63ea - std::sys_common::backtrace::_print::impl$0::fmt
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\sys_common\backtrace.rs:44
4: 0x7ff79ecb36d9 - core::fmt::rt::Argument::fmt
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\core\src\fmt\rt.rs:142
5: 0x7ff79ecb36d9 - core::fmt::write
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\core\src\fmt\mod.rs:1153
6: 0x7ff79eca4a01 - std::io::Write::write_fmt<std::sys::pal::windows::stdio::Stderr>
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\io\mod.rs:1843
7: 0x7ff79eca61d6 - std::sys_common::backtrace::print
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\sys_common\backtrace.rs:34
8: 0x7ff79eca7cb8 - std::panicking::default_hook::closure$1
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:272
9: 0x7ff79eca7957 - std::panicking::default_hook
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:292
10: 0x7ff79eca81fd - std::panicking::rust_panic_with_hook
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:789
11: 0x7ff79eca807b - std::panicking::begin_panic_handler::closure$0
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:650
12: 0x7ff79eca6a7f - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\sys_common\backtrace.rs:171
13: 0x7ff79eca7d68 - std::panicking::begin_panic_handler
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:646
14: 0x7ff79ecb86a7 - core::panicking::panic_fmt
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\core\src\panicking.rs:72
15: 0x7ff79eca1246 - cad97_playground::impl$0::drop
at D:\git\cad97\playground\src\main.rs:4
16: 0x7ff79eca11ee - core::ptr::drop_in_place<cad97_playground::DropPanic>
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373\library\core\src\ptr\mod.rs:514
17: 0x7ff79eca1107 - cad97_playground::main
at D:\git\cad97\playground\src\main.rs:11
18: 0x7ffb62171060 - <unknown>
19: 0x7ffb621753ea - is_exception_typeof
20: 0x7ffb6217fb80 - _C_specific_handler
21: 0x7ffb621745f0 - is_exception_typeof
22: 0x7ffb621804b1 - _CxxFrameHandler3
23: 0x7ffb74ed448f - _chkstk
24: 0x7ffb74e4fd54 - RtlUnwindEx
25: 0x7ffb62180046 - _C_specific_handler
26: 0x7ffb62173245 - is_exception_typeof
27: 0x7ffb62173666 - is_exception_typeof
28: 0x7ffb621746ec - is_exception_typeof
29: 0x7ffb621804b1 - _CxxFrameHandler3
30: 0x7ffb74ed440f - _chkstk
31: 0x7ffb74e4e466 - RtlFindCharInUnicodeString
32: 0x7ffb74e84465 - RtlRaiseException
33: 0x7ffb727053ac - RaiseException
34: 0x7ffb62176ba7 - CxxThrowException
35: 0x7ff79ecab650 - panic_unwind::real_imp::panic
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\panic_unwind\src\seh.rs:323
36: 0x7ff79ecab650 - panic_unwind::__rust_start_panic
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\panic_unwind\src\lib.rs:106
37: 0x7ff79eca8585 - std::panicking::rust_panic
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:841
38: 0x7ff79eca8286 - std::panicking::rust_panic_with_hook
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:811
39: 0x7ff79eca807b - std::panicking::begin_panic_handler::closure$0
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:650
40: 0x7ff79eca6a7f - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\sys_common\backtrace.rs:171
41: 0x7ff79eca7d68 - std::panicking::begin_panic_handler
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\panicking.rs:646
42: 0x7ff79ecb86a7 - core::panicking::panic_fmt
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\core\src\panicking.rs:72
43: 0x7ff79eca10ea - cad97_playground::main
at D:\git\cad97\playground\src\main.rs:10
44: 0x7ff79eca117b - core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373\library\core\src\ops\function.rs:250
45: 0x7ff79eca113e - core::hint::black_box
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373\library\core\src\hint.rs:338
46: 0x7ff79eca113e - std::sys_common::backtrace::__rust_begin_short_backtrace<void (*)(),tuple$<> >
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373\library\std\src\sys_common\backtrace.rs:155
47: 0x7ff79eca12c1 - std::rt::lang_start::closure$0<tuple$<> >
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373\library\std\src\rt.rs:166
48: 0x7ff79eca31d2 - std::rt::lang_start_internal
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373/library\std\src\rt.rs:148
49: 0x7ff79eca129a - std::rt::lang_start<tuple$<> >
at /rustc/8df7e723ea729a7f917501cc2d91d640b7021373\library\std\src\rt.rs:165
50: 0x7ff79eca1129 - main
51: 0x7ff79ecb6e10 - invoke_main
at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
52: 0x7ff79ecb6e10 - __scrt_common_main_seh
at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
53: 0x7ffb746e257d - BaseThreadInitThunk
54: 0x7ffb74e8aa48 - RtlUserThreadStart
full call stack when abort is called, as reported by vscode debugger
abort (@abort:21)
terminate (@terminate:12)
__FrameUnwindFilter (@__FrameUnwindFilter:20)
memset (@memset:346)
__C_specific_handler (@__C_specific_handler:46)
__chkstk (@__chkstk:121)
RtlFindCharInUnicodeString (@RtlFindCharInUnicodeString:714)
KiUserExceptionDispatcher (@KiUserExceptionDispatcher:15)
RaiseException (@RaiseException:26)
_CxxThrowException (@_CxxThrowException:42)
void panic_unwind::__rust_start_panic() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\panic_unwind\src\lib.rs:106)
void std::panicking::rust_panic() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:841)
void std::panicking::rust_panic_with_hook() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:811)
static void std::panicking::begin_panic_handler::closure$0() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:650)
static void std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys_common\backtrace.rs:171)
void std::panicking::begin_panic_handler() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:646)
void core::panicking::panic_fmt() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\panicking.rs:72)
140001246 (d:\git\cad97\playground\src\main.rs:4)
core::ptr::drop_in_place<cad97_playground::DropPanic> (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:514)
static void cad97_playground::main() (d:\git\cad97\playground\src\main.rs:11)
180001060 (@7ffb62171060..7ffb621710d1:3)
_is_exception_typeof (@_is_exception_typeof:2790)
__C_specific_handler (@__C_specific_handler:377)
_is_exception_typeof (@_is_exception_typeof:1837)
__CxxFrameHandler3 (@__CxxFrameHandler3:33)
__chkstk (@__chkstk:163)
RtlUnwindEx (@RtlUnwindEx:152)
__C_specific_handler (@__C_specific_handler:724)
_is_exception_typeof (@_is_exception_typeof:517)
_is_exception_typeof (@_is_exception_typeof:791)
_is_exception_typeof (@_is_exception_typeof:1899)
__CxxFrameHandler3 (@__CxxFrameHandler3:33)
__chkstk (@__chkstk:121)
RtlFindCharInUnicodeString (@RtlFindCharInUnicodeString:714)
KiUserExceptionDispatcher (@KiUserExceptionDispatcher:15)
RaiseException (@RaiseException:26)
_CxxThrowException (@_CxxThrowException:42)
void panic_unwind::__rust_start_panic() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\panic_unwind\src\lib.rs:106)
void std::panicking::rust_panic() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:841)
void std::panicking::rust_panic_with_hook() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:811)
static void std::panicking::begin_panic_handler::closure$0() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:650)
static void std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys_common\backtrace.rs:171)
void std::panicking::begin_panic_handler() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:646)
void core::panicking::panic_fmt() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\panicking.rs:72)
static void cad97_playground::main() (d:\git\cad97\playground\src\main.rs:10)
void core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >( *) (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:250)
void std::sys_common::backtrace::__rust_begin_short_backtrace<void (*)(),tuple$<> >( *) (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys_common\backtrace.rs:155)
int std::rt::lang_start::closure$0<tuple$<> >(struct std::rt::lang_start::closure_env$0<tuple$<> > *) (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:166)
void std::rt::lang_start_internal() (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:148)
__int64 std::rt::lang_start<tuple$<> >( *, __int64, unsigned char * *, unsigned char) (d:\.rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:165)
main (@main:9)
static int __scrt_common_main_seh() (@7ff79ecb6e10..7ff79ecb6e77:3)
BaseThreadInitThunk (@BaseThreadInitThunk:12)
RtlUserThreadStart (@RtlUserThreadStart:12)
@rustbot modify labels: +regression-from-stable-to-stable +O-windows