GitHub - rustfoundation/interop-initiative: 与 Rust 基金会、Rust 项目以及适当的外部利益相关者合作,使 C++ 和 Rust 的互操作性对尽可能广泛的受众来说易于访问和易于理解。

主要观点:与 Rust 基金会、Rust 项目及外部利益相关者合作,让 C++和 Rust 的互操作性更易获取和接近,实现安全与性能的平衡。
关键信息

  • 因 Rust 接近 10 周年,从早期采用者阶段向早期主流阶段过渡,行业和政府更强调采用内存安全语言,Rust 成为首选。
  • C++/Rust 互操作性存在固有权衡,现有 FFI 解决方案存在诸多挑战,如通信受限、FFI 边界不安全等。
  • 目前 C++/Rust 互操作工具虽有发展,但仍有局限,如 cxx 有潜力但仍有不足,集成构建系统是挑战。
  • 目标是实现无摩擦互操作性,包括最小工作量、无额外复杂性、最大安全性等,通过短期、长期和社会互操作性三种策略推进。
    重要细节
  • 短期策略基于现有成功解决方案,识别阻碍互操作的问题并分配资源;长期策略寻求实现无摩擦互操作性,建立关系并确定基础需求;社会互操作性策略建立与 C++社区的关系,促进合作。
  • 互操作涉及多种语言特性和概念的转换,不同语言的发展历程和起源影响互操作性,如 Rust 起源于 Mozilla 的 C++代码库。
  • 工具方面,bindgen(2015 年)、cbindgen(2017 年)、cxx(2020 年)较受欢迎,cxx 目标是提供更安全的互操作方式。
  • 互操作的影响包括增加开发成本、降低代码质量、限制语言间代码访问等,应减少不必要的摩擦,最大化技术人员的选择自由。
  • 可通过 Zulip 频道或邮件提供反馈和建议,后续更新将在相关平台发布,倡议也将向 Rust 基金会董事会汇报工作。
阅读 8
0 条评论