rust/src
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
..
bootstrap Update rustc-perf submodule before running tidy 2024-06-10 12:41:52 +02:00
ci Rollup merge of #125669 - ferrocene:hoverbear/ci-docker-riscv64gc-update, r=Kobzol 2024-06-11 21:27:46 +01:00
doc Rollup merge of #124514 - michaelwoerister:zero-disambiguator-demangling-recommendation, r=davidtwco 2024-06-12 03:57:19 -07:00
etc
librustdoc Rollup merge of #126159 - RalfJung:scalarint-size-mismatch, r=oli-obk 2024-06-10 21:12:25 +02:00
llvm-project@5a5152f653 Update to LLVM 18.1.7 2024-06-06 08:37:27 +02:00
rustdoc-json-types Remove Type from rustdoc Const 2024-06-05 22:25:42 +01:00
tools Auto merge of #126290 - weihanglo:update-cargo, r=weihanglo 2024-06-12 06:51:07 +00:00
README.md
stage0
version set version number to 1.81.0 2024-06-07 10:37:34 +02:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.