@@ -204,8 +204,8 @@ This change will be applied to all ABI strings other than `"Rust"`, such as
204204
205205## Interaction with ` panic=abort `
206206
207- If a non-forced foreign unwind would enter a Rust frame via an `extern "C
208- unwind"` ABI boundary, but the Rust code is compiled with ` panic=abort`, the
207+ If a non-forced foreign unwind would enter a Rust frame via an `extern
208+ "C- unwind"` ABI boundary, but the Rust code is compiled with ` panic=abort`, the
209209unwind will be caught and the process aborted.
210210
211211Conversely, non-forced unwinding from another language into Rust through an FFI
@@ -288,10 +288,11 @@ the default for all functions without an explicit ABI string) and the other
288288existing ABIs: no ABI string without the word ` unwind ` will permit unwinding,
289289except the ` "Rust" ` ABI, which will permit unwinding, but only when compiled
290290with ` panic=unwind ` . Making other ABIs consistent with the ` "Rust" ` ABI by
291- permitting them to unwind by default (and possibly either introducing a new `"C
292- unwind"` ABI or an annotation akin to C++'s ` noexcept` to explicitly prohibit
293- unwinding) would also be a safer default, since it would prevent undefined
294- behavior when interfacing with external libraries that may throw exceptions.
291+ permitting them to unwind by default (and possibly either introducing a new
292+ ` "C-unwind" ` ABI or an annotation akin to C++'s ` noexcept ` to explicitly
293+ prohibit unwinding) would also be a safer default, since it would prevent
294+ undefined behavior when interfacing with external libraries that may throw
295+ exceptions.
295296
296297# Rationale and alternatives
297298[ rationale-and-alternatives ] : #rationale-and-alternatives
0 commit comments