How Designing Carbon C++ Interop Taught me About C++ Variadics & Bound Members
summary
Carbon builds a definition‑checked generic model for C++ interop and already shows tangible momentum with 1,750 PRs merged and 121 new contributors while focusing on a real toolchain. For variadics it implements symbolic arities so the compiler rejects bodies that assume values that might not exist and forces fixes (for example, adding a required seed argument). For member binding it synthesizes constants and uses a bind-to-value interface plus adapters and call interface to unify fields, statics and methods into general callable bound members.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:00Carbon project update
- 2:24Variadics exploration
- 2:53C++ variadic challenges
- 6:39Carbon's approach
- 10:20Carbon syntax crash course
- 13:20Carbon variadic design
- 17:31Type checking packs
- 21:20Pattern matching
- 23:44Carbon model for safety
- 26:42Applying lessons to C++
- 29:15Member binding challenges
- 32:34Carbon interface system
- 36:57Implementing member binding
- 43:21Adapters and callables
- 45:06Generalizing the model
- 53:01Unified member model
- 58:42Conclusion and Q&A
related talks
01h 23mCarbon Language: An experimental successor to C++
01h 27mGeneric Arity: Definition-Checked Variadics in Carbon
40m"Fine-Grained C++ Interop"
37mMemory Safety Everywhere with Both Rust and Carbon
31mCo- and Contra-: Adding a Little Variance
01h 48m“Meta: Thoughts on generative C++”
58mC++17 in Practice - The good and the ugly
01h 00mC++17, part 1: The Language Features
