"Fine-Grained C++ Interop"
summary
Survey of current interop shows concrete tradeoffs: bindgen/cbindgen handle only C ABIs, cxx requires manual FFI modules, Zngur’s IDL can carry size/alignment, and Crubit already auto-generates bindings to hundreds of crates and plans IDL output; fish port required some modules of 13,000 lines rewritten. Pain points are unsafe-everywhere, aliasing C++ references, non-memcopy movable types, and overloads; proposed fixes include compiler-integrated IDL generation, C++-style reference types, and language features like autoref and generalized field projection.
AI-written summary · about
chapters (6)
- 0:00Introduction and speakers
- 4:59Current interop tools
- 11:25C++ features and Rust limitations
- 25:55Handling C++ references
- 31:31Calling Rust from C++
- 38:27Future of interop and closing
related talks
01h 02mRust/C++ Interop: Carcinization or Intelligent Design?
52mBuilding Bridges: C++ Interop, Foreign Function Interfaces & ABI
53mC++/Rust Interop: A Practical Guide to Bridging the Gap Between C++ and Rust
25mRust and C++
01h 11mDuck-Tape Chronicles - Rust C++ Interop
37mDuck-Tape Chronicles: Rust/C++ Interop
31mFrom C++ APIs to Idiomatic Rust: Wrapper Design Patterns
56mGet the best of both worlds: Integrating Rust with other languages
