rust/src
Michael Woerister 07ebc13d87 debuginfo: Refactor debuginfo generation for types
This commit
- changes names to use di_node instead of metadata
- uniformly names all functions that build new debuginfo nodes build_xyz_di_node
- renames CrateDebugContext to CodegenUnitDebugContext (which is more accurate)
- moves TypeMap and functions that work directly work with it to a new type_map module
- moves and reimplements enum related builder functions to a new enums module
- splits enum debuginfo building for the native and cpp-like cases, since they are mostly separate
- uses SmallVec instead of Vec in many places
- removes the old infrastructure for dealing with recursion cycles (create_and_register_recursive_type_forward_declaration(), RecursiveTypeDescription, set_members_of_composite_type(), MemberDescription, MemberDescriptionFactory, prepare_xyz_metadata(), etc)
- adds type_map::build_type_with_children() as a replacement for dealing with recursion cycles
- adds many (doc-)comments explaining what's going on
- changes cpp-like naming for C-Style enums so they don't get a enum$<...> name (because the NatVis visualizer does not apply to them)
- fixes detection of what is a C-style enum because some enums where classified as C-style even though they have fields
- changes the position of discriminant debuginfo node so it is consistently nested inside the top-level union instead of, sometimes, next to it
2022-03-14 16:49:06 +01:00
..
bootstrap Auto merge of #94832 - jonhoo:default-static, r=Mark-Simulacrum 2022-03-13 23:06:14 +00:00
ci Auto merge of #94704 - Kobzol:llvm-pgo-update-suite, r=Mark-Simulacrum 2022-03-13 15:53:14 +00:00
doc Rollup merge of #94777 - lancethepants:armv7-unknown-linux-uclibceabi, r=Mark-Simulacrum 2022-03-13 20:01:59 +01:00
etc rustdoc-json-types: implementors -> implementations 2022-03-14 00:05:11 +00:00
librustdoc Auto merge of #94139 - est31:let_else_rustdoc, r=notriddle 2022-03-14 07:39:53 +00:00
llvm-project@c8eccf626f Update LLVM submodule 2022-03-09 09:51:12 +01:00
rustdoc-json-types rustdoc-json-types: implementors -> implementations 2022-03-14 00:05:11 +00:00
test debuginfo: Refactor debuginfo generation for types 2022-03-14 16:49:06 +01:00
tools Auto merge of #94898 - RalfJung:miri, r=RalfJung 2022-03-13 02:27:30 +00:00
README.md
stage0.json Bump bootstrap to 1.60 2022-02-25 08:00:24 -05:00
version Bump version to 1.61 2022-02-19 13:40:33 -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.