Skip to content

Commit fdbd98f

Browse files
author
Kyle Strand
committed
Revise limitations section
1 parent 49f061f commit fdbd98f

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

text/0000-c-unwind-abi.md

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -248,17 +248,20 @@ of the panic runtime, ABI, or platform.
248248
future RFC][unresolved-questions].
249249

250250
## Additional limitations
251+
[additional-limitations]: #additional-limitations
251252

252-
No subtype relationship is defined between functions or function pointers using
253-
different ABIs. This RFC also does not define coercions between `"C"` and
254-
`"C unwind"`.
253+
In order to limit the scope of this RFC, the following limitations are imposed:
255254

256-
As noted in the [summary][summary], if a Rust frame containing a pending
257-
`catch_unwind` call is unwound by a foreign exception, the behavior is
258-
undefined for now.
255+
* No subtype relationship is defined between functions or function pointers
256+
using different ABIs.
257+
* Coercions are not defined between `"C"` and `"C unwind"`.
258+
* As noted in the [summary][summary], if a Rust frame containing a pending
259+
`catch_unwind` call is unwound by a foreign exception, the behavior is
260+
undefined for now.
261+
* The behavior of asynchronous exceptions, such as SEH on Windows, interrupting
262+
Rust code is not defined.
259263

260-
This RFC makes no attempt to define the behavior of asynchronous exceptions,
261-
such as SEH on Windows, interrupting Rust code.
264+
These may be addressed in [future RFCs][future-possibilities].
262265

263266
# Drawbacks
264267
[drawbacks]: #drawbacks
@@ -495,7 +498,9 @@ behavior".
495498
[future-possibilities]: #future-possibilities
496499

497500
The [FFI-unwind project group][project-group] intends to remain active at least
498-
until all ["TBD behavior"][unresolved-questions] is defined.
501+
until all ["TBD behavior"][unresolved-questions] is defined. We may also
502+
address some or all of the current proposal's
503+
[limitations][additional-limitations] in future RFCs.
499504

500505
We may want to provide more means of interaction with foreign exceptions. For
501506
instance, it may be possible to provide a way for Rust to catch C++ exceptions

0 commit comments

Comments
 (0)