rust/src
bors 4a7fb971c9 Auto merge of #91569 - erikdesjardins:vt-align, r=nikic
Attach range metadata to alignment loads from vtables

...because alignment is always nonzero[0].

This helps eliminate redundant runtime alignment checks, when a DST
is a field of a struct whose remaining fields have alignment 1.

Fixes #91438.

---
[0]:

The [reference](https://doc.rust-lang.org/reference/type-layout.html) says that alignment must be at least 1.

And in practice, the alignment field for all vtables is generated here: 772d51f887/compiler/rustc_middle/src/ty/vtable.rs (L68-L90) and is nonzero because [`Align::bytes()`](772d51f887/compiler/rustc_target/src/abi/mod.rs (L547-L549)) is always nonzero.
2021-12-13 04:29:20 +00:00
..
bootstrap bootstrap: Change unwrap() to expect() for WIX path 2021-12-12 03:31:40 +05:30
build_helper Migrate to 2021 2021-09-20 22:21:42 -04:00
ci Rollup merge of #90550 - ehuss:update-ca, r=Mark-Simulacrum 2021-12-08 11:08:56 +01:00
doc Rollup merge of #91310 - hi-rustin:rustin-patch-rustdoc, r=jyn514 2021-12-11 08:22:30 +01:00
etc Implement @snapshot check for htmldocck 2021-12-01 15:12:10 -08:00
librustdoc Revert "Auto merge of #91491 - spastorino:revert-91354, r=oli-obk" 2021-12-12 12:34:46 +08:00
llvm-project@2b9078f4af LLVM support .insn directive 2021-12-04 16:56:21 +01:00
rustdoc-json-types Moved format-version constant to rustdoc-json-types 2021-10-15 12:27:42 +03:00
test Auto merge of #91569 - erikdesjardins:vt-align, r=nikic 2021-12-13 04:29:20 +00:00
tools Auto merge of #91549 - fee1-dead:const_env, r=spastorino 2021-12-12 22:15:32 +00: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.