Hasty Briefsbeta

双语

Switching to Rust's own mangling scheme on nightly

6 months ago
  • #Rust
  • #Compiler
  • #Symbol-Mangling
  • Rust编译器将从nightly-2025-11-21版本开始默认采用自研的'v0'符号重整方案
  • 此前默认采用的C++重整方案存在诸多缺陷,包括丢失泛型参数信息和平台兼容性问题
  • 新的'v0'方案提供无歧义编码、可逆的泛型参数信息,并显著提升工具链兼容性
  • 该改进尤其优化了异步代码、闭包和泛型函数在调用栈回溯中的可读性
  • 可能带来的副作用包括符号体积轻微增大,或导致链接时间延长和二进制文件膨胀
  • 如需兼容旧方案,仍可通过`-Csymbol-mangling-version=legacy -Zunstable-options`参数启用
  • 相关工具链可通过集成rust-lang/rustc-demangle仓库的v0反重整器实现兼容