HackerNews

Rust独自の名前マングリング方式への切り替え(ナイトリービルド)

Switching to Rust's own mangling scheme on nightly

https://blog.rust-lang.org/2025/11/20/switching-to-v0-mangling-on-nightly/


Rustのコンパイラチームは、ナイトリービルド版rustcがデフォルトでRust独自の「v0」マングリング方式を使用することを発表しました。この変更は、2025年11月21日から適用され、従来のC++のマングリング方式を利用していたものからの移行となります。この背景には、Rustではオブジェクトファイルやバイナリにおいて、それぞれの関数やスタティックなどに対してグローバルにユニークなシンボル名が必要であることがあります。Rustでは、これまでのマングリング方式の欠点を解消するために、「v0」方式が導入され、ジェネリック関数の情報が可逆的にエンコードされ、シンボル名が特定の文字のみに制限されるなどの利点があります。しかし、これに伴い、デバッガやプロファイラなどのツールも、「v0」マングリング方式に対応する必要があります。現在、この新しい方式のサポートが広がったため、rustcはデフォルトとして使用する準備が整ったとされています。