通过非逃逸类型和生命周期实现安全高效的 Swift 与 C++ 互操作性

2024-11-14

该提案旨在改进 Swift 与 C++ 的互操作性,通过引入非逃逸类型和生命周期注解来增强安全性及效率。方案包括:使用 C++ 注解表达生命周期信息,避免不必要的防御性复制;引入非逃逸类型,特别是对于类似迭代器的视图类型;导入 clang 的生命周期绑定属性到 Swift 的依赖关系中;为 C++ 标准库添加或推断生命周期注解;引入安全互操作模式,限制未注解 API 的调用;并计划未来实现注解推断以降低注解负担。

未分类