@@ -393,11 +393,12 @@ the new `"C unwind"` ABI.
393
393
[ nightly-attributes ] : #attributes-on-nightly-rust-and-prior-rfcs
394
394
395
395
Currently, nightly Rust provides attributes, ` #[unwind(allowed)] ` and
396
- ` #[unwind(abort)] ` , for making the behavior of ` panic ` crossing a ` "C" ` ABI
397
- boundary well defined. Two previous RFCs, [ #2699 ] [ rfc-2699 ] and
398
- [ #2753 ] [ rfc-2753 ] , attempted to stabilize these or similar attributes.
396
+ ` #[unwind(abort)] ` , that permit users to select a well-defined behavior when a
397
+ ` panic ` reaches an ` extern "C" ` function boundary. Two previous RFCs,
398
+ [ #2699 ] [ rfc-2699 ] and [ #2753 ] [ rfc-2753 ] , attempted to stabilize these or
399
+ similar attributes.
399
400
400
- The attribute approach was deemed insufficient:
401
+ The attribute approach was deemed insufficient for the following reasons :
401
402
402
403
* Currently, Rust does not support attributes on function pointers. This may
403
404
change in the future, but until then, attributes cannot provide any way to
@@ -413,8 +414,8 @@ The attribute approach was deemed insufficient:
413
414
* The ability of a function to unwind must be part of the type system to ensure
414
415
that callers that cannot unwind don't invoke functions that can unwind.
415
416
Although attributes are sometimes part of a function's type, a function's ABI
416
- string is always part of its type, so we are not introducing anything new to
417
- the type system.
417
+ string is always part of its type, so we are not introducing any new elements
418
+ to the type system.
418
419
419
420
[ rfc-2699 ] : https://github.com/rust-lang/rfcs/pull/2699
420
421
[ rfc-2753 ] : https://github.com/rust-lang/rfcs/pull/2753
0 commit comments