Thank you for that link, I thought (production build) rust panic was simply a core dump. I didn't realize there was stack unwinding going on.
- panic=abort (uncatchable)
- panic=unwind.
With the latter, you would need a catch_unwind at the FFI boundary.[1] https://doc.rust-lang.org/cargo/reference/profiles.html#pani...
AAre the panics being discussed for removal in rust tls "soft" errors that should not crash?
https://github.com/ctz/rustls/issues/447#issuecomment-820719...
It seems like there's been the most effort on category 4, the ones that can't be reached but can often be proven away with refactoring and typestate. Removing these ensures that the APIs don't expose Result types to callers unnecessarily.
Category 1-3 have different severity, but they are all planned to be folded into Result error values.