@@ -204,8 +204,8 @@ This change will be applied to all ABI strings other than `"Rust"`, such as
204
204
205
205
## Interaction with ` panic=abort `
206
206
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
209
209
unwind will be caught and the process aborted.
210
210
211
211
Conversely, 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
288
288
existing ABIs: no ABI string without the word ` unwind ` will permit unwinding,
289
289
except the ` "Rust" ` ABI, which will permit unwinding, but only when compiled
290
290
with ` 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.
295
296
296
297
# Rationale and alternatives
297
298
[ rationale-and-alternatives ] : #rationale-and-alternatives
0 commit comments