project-ffi-unwind
A working-group project to extend the Rust language to support unwinding that crosses FFI boundaries.
- Shepherds:
- Rust lang team contacts:
- Our chat room
- Our charter
- Our plan
- Cross-language unwinding FAQ
Roadmap and current status
ffi-unwind table
Key
- β -- available and well-defined on stable
- π -- available on nightly
- π -- open RFC
- π¬ -- under active discussion
- π -- not yet under active discussion
- π« -- out of scope for this group, no current plans to implement or specify
Table
Thing | linux | mac | msvc | other targets |
---|---|---|---|---|
"C unwind" ABI | π¬ | π¬ | π¬ | π¬ |
propagate Rust panic through native frame, no destructors | π | π | π | π« |
propagate Rust panic through native frame, with destructors | π | π | π | π« |
propagate native exception through Rust frame, no destructors | π | π | π | π« |
propagate native exception through Rust frame, with destructors | π | π | π | π« |
catch Rust panic within native code | π« | π« | π« | π« |
catch native exception within Rust code | π« | π« | π« | π« |