granite-rust/src
Manish Goregaokar f71b3e2b46
Rollup merge of #89532 - ecstatic-morse:maybe-live-locals-enum, r=oli-obk,tmiasko
Document behavior of  `MaybeLiveLocals` regarding enums and field-senstivity

This arose from a [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/MaybeLiveLocals.20and.20Discriminants) where a new contributor attempted to implement a dead-store elimination pass using this analysis. They ran into a nasty hack around `SetDiscriminant` the effect of which is to lets handle assignments of literals to enum-typed locals (e.g. `x = Some(4)`) correctly. This took me a while to figure out.

Document this oddity, so the next person will have an easier time, and add a test to enshrine the current behavior.

r? ``@tmiasko``
2021-10-05 12:52:48 -07:00
..
bootstrap bootstrap: add config option for nix patching 2021-10-02 20:01:43 +00:00
build_helper Migrate to 2021 2021-09-20 22:21:42 -04:00
ci Update Let's Encrypt ROOT CA certificate in dist-(i686|x86_64)-linux docker images 2021-10-03 10:58:37 +02:00
doc Fix typos in rustdoc/lints 2021-10-02 19:03:32 +02:00
etc Encode json files with UTF-8 2021-09-30 00:11:14 +09:00
librustdoc Rollup merge of #88816 - dns2utf8:rustdoc_test_gui_2k_constants, r=GuillaumeGomez 2021-10-04 23:56:17 -07:00
llvm-project@a7348ae0df Update to the final LLVM 13.0.0 release 2021-10-01 21:06:19 -07:00
rustdoc-json-types Don't ignore impls for primitive types 2021-09-29 23:57:01 +09:00
test Rollup merge of #89532 - ecstatic-morse:maybe-live-locals-enum, r=oli-obk,tmiasko 2021-10-05 12:52:48 -07:00
tools Rollup merge of #89535 - notriddle:notriddle/error-index-generator-js, r=Mark-Simulacrum 2021-10-04 23:56:25 -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.