See https://github.com/rust-lang/rust/issues/52652 for the original discussion. There's also some additional discussion here: https://github.com/rust-lang/rust/issues/48251. The default was changed to abort-by-default in extern functions in [this](https://github.com/rust-lang/rust/pull/55982) PR. This is tracking the stabilization of the `#[unwind(allowed)]` (and `#[unwind(abort)]`) attributes.