Add encoding for `f16` and `f128` by tgross35 · Pull Request #122106 · rust-lang/rust

@tgross35

@rustbot rustbot added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

needs-fcp

This change is insta-stable, or significant enough to need a team FCP to proceed.

T-compiler

Relevant to the compiler team, which will review and decide on the PR/issue.

labels

Mar 6, 2024

michaelwoerister

tgross35 added a commit to tgross35/rust that referenced this pull request

Apr 11, 2024
As discussed at <rust-lang#122106>, use the
crate encoding to represent new primitives.

tgross35 added a commit to tgross35/rust that referenced this pull request

Apr 12, 2024
As discussed at <rust-lang#122106>, use the
crate encoding to represent new primitives.

tgross35 added a commit to tgross35/rust that referenced this pull request

Apr 20, 2024
As discussed at <rust-lang#122106>, use the
crate encoding to represent new primitives.

This was referenced

Apr 29, 2024

tgross35 added a commit to tgross35/rust that referenced this pull request

May 14, 2024
As discussed at <rust-lang#122106>, use the
crate encoding to represent new primitives.

bors added a commit to rust-lang-ci/rust that referenced this pull request

May 14, 2024
…lwoerister

Add v0 symbol mangling for `f16` and `f128`

As discussed at <rust-lang#122106>, use the crate encoding to represent new primitives.

cuviper pushed a commit to cuviper/rust that referenced this pull request

May 25, 2024
As discussed at <rust-lang#122106>, use the
crate encoding to represent new primitives.

(cherry picked from commit 809b84e)

workingjubilee added a commit to workingjubilee/rustc that referenced this pull request

Jun 12, 2024
…r-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](rust-lang#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`

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Jun 12, 2024
Rollup merge of rust-lang#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](rust-lang#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`

mattstam pushed a commit to succinctlabs/rust that referenced this pull request

Aug 1, 2024