rust/src
bors 9a757817c3 Auto merge of #89597 - michaelwoerister:improve-vtable-debuginfo, r=wesleywiser
Create more accurate debuginfo for vtables.

Before this PR all vtables would have the same name (`"vtable"`) in debuginfo. Now they get an unambiguous name that identifies the implementing type and the trait that is being implemented.

This is only one of several possible improvements:
- This PR describes vtables as arrays of `*const u8` pointers. It would nice to describe them as structs where function pointer is represented by a field with a name indicative of the method it maps to. However, this requires coming up with a naming scheme that avoids clashes between methods with the same name (which is possible if the vtable contains multiple traits).
- The PR does not update the debuginfo we generate for the vtable-pointer field in a fat `dyn` pointer. Right now there does not seem to be an easy way of getting ahold of a vtable-layout without also knowing the concrete self-type of a trait object.

r? `@wesleywiser`
2021-10-11 04:31:47 +00:00
..
bootstrap Rollup merge of #89520 - GuillaumeGomez:cache-rustdoc-gui-test, r=Mark-Simulacrum 2021-10-10 18:22:20 +02:00
build_helper Migrate to 2021 2021-09-20 22:21:42 -04:00
ci CI: Use mirror for downloads. 2021-10-08 08:44:40 +02:00
doc Rollup merge of #89713 - nbdd0121:doc2, r=Amanieu 2021-10-10 18:22:22 +02:00
etc Encode json files with UTF-8 2021-09-30 00:11:14 +09:00
librustdoc Rollup merge of #89736 - GuillaumeGomez:rm-unused-css-rule, r=dns2utf8 2021-10-11 00:34:41 +02:00
llvm-project@a7348ae0df Update to the final LLVM 13.0.0 release 2021-10-01 21:06:19 -07:00
rustdoc-json-types Remove special-casing of never primitive in rustdoc-json-types 2021-10-08 16:53:39 +02:00
test Auto merge of #89597 - michaelwoerister:improve-vtable-debuginfo, r=wesleywiser 2021-10-11 04:31:47 +00:00
tools Simplified 3 ifs found by clippy. 2021-10-09 12:18:01 -07:00
README.md
stage0.json Bump stage0 compiler to 1.56 2021-09-08 20:51:05 -04:00
version Bump version to 1.57 2021-09-03 21:54:48 -04: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.