Jubilee 969056dd8c
Rollup merge of #124514 - michaelwoerister:zero-disambiguator-demangling-recommendation, r=davidtwco
Recommend to never display zero disambiguators when demangling v0 symbols

This PR extends the [v0 symbol mangling documentation](https://doc.rust-lang.org/rustc/symbol-mangling/v0.html) with the strong recommendation that demanglers should never display zero-disambiguators, especially when dealing with `crate-root`.

Being able to rely on `C3foo` to be rendered as `foo` (i.e. without explicit disambiguator value) rather than as `foo[0]` allows the compiler to encode things like new basic types in a backward compatible way. This idea has been originally proposed by `@eddyb` in [the discussion around supporting `f16` and `f128` in the v0 mangling scheme](https://github.com/rust-lang/rust/pull/122106). It is a generally useful mechanism for supporting a certain class of new elements in the v0 mangling scheme in a backward compatible way (whether as a temporary workaround until downstream tooling has picked up grammar changes or as a permanent encoding).

cc `@tgross35`
2024-06-12 03:57:19 -07:00
..
2024-06-03 13:00:52 -04:00
2024-06-03 13:00:52 -04:00
2024-06-03 13:00:52 -04:00
2024-06-04 23:55:49 -07:00
2024-06-03 13:00:52 -04:00
2024-06-03 13:00:52 -04:00
2024-06-03 13:00:52 -04:00
2024-05-14 06:00:09 +02:00