Repository: rust
Issue: Double panic on MSVC no longer prints abort message
Labels: O-windows,P-medium,T-compiler,regression-from-stable-to-stable,C-bug,E-needs-bisection

I tried this code:

```rust
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`](https://devblogs.microsoft.com/oldnewthing/20190108-00/?p=100655); 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).

<details><summary>rustc 1.56.1 (59eed8a2a 2021-11-01) output (abort message)</summary>
<p>

```text
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.
```

</p>
</details>

<details><summary>rustc 1.79.0-nightly (8df7e723e 2024-03-30) output (no abort message)</summary>
<p>

```text
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
```

</p>
</details>

<details><summary>full call stack when abort is called, as reported by vscode debugger</summary>
<p>

```text
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)
```

</p>
</details>

@rustbot modify labels: +regression-from-stable-to-stable +O-windows