rust/src
bors 8f3238f898 Auto merge of #90128 - joshtriplett:stabilize-symbol-mangling-version, r=wesleywiser
Stabilize -Z symbol-mangling-version=v0 as -C symbol-mangling-version=v0

This allows selecting `v0` symbol-mangling without an unstable option. Selecting `legacy` still requires -Z unstable-options.

This does not change the default symbol-mangling-version. See https://github.com/rust-lang/rust/pull/89917 for a pull request changing the default. Rationale, from #89917:

Rust's current mangling scheme depends on compiler internals; loses information about generic parameters (and other things) which makes for a worse experience when using external tools that need to interact with Rust symbol names; is inconsistent; and can contain . characters which aren't universally supported. Therefore, Rust has defined its own symbol mangling scheme which is defined in terms of the Rust language, not the compiler implementation; encodes information about generic parameters in a reversible way; has a consistent definition; and generates symbols that only use the characters A-Z, a-z, 0-9, and _.

Support for the new Rust symbol mangling scheme has been added to upstream tools that will need to interact with Rust symbols (e.g. debuggers).

This pull request allows enabling the new v0 symbol-mangling-version.

See #89917 for references to the implementation of v0, and for references to the tool changes to decode Rust symbols.
2022-01-02 15:49:23 +00:00
..
bootstrap Remove some dead code 2022-01-01 18:50:56 +01:00
build_helper
ci Rollup merge of #92440 - GuillaumeGomez:fix-mobile-toggles, r=jsha 2021-12-31 23:14:49 +01:00
doc Update references to -Z symbol-mangling-version to use -C 2022-01-01 15:53:11 -08:00
etc Implement @snapshot check for htmldocck 2021-12-01 15:12:10 -08:00
librustdoc Rollup merge of #92440 - GuillaumeGomez:fix-mobile-toggles, r=jsha 2021-12-31 23:14:49 +01:00
llvm-project@6b3dbcc81a Backport LLVM changes to disable deferred inlining 2021-12-19 23:49:03 +02:00
rustdoc-json-types
test Auto merge of #90128 - joshtriplett:stabilize-symbol-mangling-version, r=wesleywiser 2022-01-02 15:49:23 +00:00
tools Make tidy check for magic numbers that spell things 2021-12-31 21:13:07 -08:00
README.md
stage0.json Bump bootstrap compiler 2021-11-30 10:44:21 -05:00
version Bump to 1.59 2021-11-26 14:53:55 -05:00

This directory contains the source code of the rust project, including:

  • The test suite
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

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