rust/src
bors fc81e36242 Auto merge of #53327 - wesleywiser:wip_optimize_nll, r=nikomatsakis
[nll] teach SCC about `'static`

r? @nikomatsakis

I think this is right? I am seeing better performance on the `html5ever` benchmark but I'd like a perf run to quantify the exact speedup. There's a few ui tests failing due to changes in the error messages. The main issue seems to be that returns aren't being detected correctly?

`mir_check_cast_unsize.rs` before:

```
error: unsatisfied lifetime constraints
  --> mir_check_cast_unsize.rs:17:46
   |
17 |   fn bar<'a>(x: &'a u32) -> &'static dyn Debug {
   |  ________--____________________________________^
   | |        |
   | |        lifetime `'a` defined here
18 | |     //~^ ERROR unsatisfied lifetime constraints
19 | |     x
20 | |     //~^ WARNING not reporting region error due to nll
21 | | }
   | |_^ return requires that `'a` must outlive `'static`
```

`mir_check_cast_unsize.rs` after:

```
error: unsatisfied lifetime constraints
  --> mir_check_cast_unsize.rs:19:5
   |
17 | fn bar<'a>(x: &'a u32) -> &'static dyn Debug {
   |        -- lifetime `'a` defined here
18 |     //~^ ERROR unsatisfied lifetime constraints
19 |     x
   |     ^ cast requires that `'a` must outlive `'static`
```
2018-09-07 17:56:23 +00:00
..
bootstrap Rollup merge of #54023 - matthiaskrgr:clippy, r=oli-obk 2018-09-07 18:14:28 +08:00
build_helper
ci
dlmalloc@c99638dc2e
doc Rollup merge of #53550 - brson:recurring, r=estebank 2018-09-07 15:26:40 +08:00
etc
grammar
jemalloc@1f5a28755e
liballoc Rollup merge of #53874 - withoutboats:pin-ptr-impls, r=RalfJung 2018-09-07 15:26:49 +08:00
liballoc_jemalloc
liballoc_system
libarena
libbacktrace@f4d02bbdbf
libcompiler_builtins@0703bfa725 Update the compiler-builtins submodule 2018-09-05 09:12:17 -07:00
libcore Rollup merge of #53979 - alexcrichton:remove-repr-transparent-atomics-master, r=sfackler 2018-09-07 18:13:57 +08:00
libfmt_macros
libgraphviz
liblibc@1844a772b6
libpanic_abort
libpanic_unwind
libproc_macro
libprofiler_builtins
librustc Auto merge of #53327 - wesleywiser:wip_optimize_nll, r=nikomatsakis 2018-09-07 17:56:23 +00:00
librustc_allocator
librustc_apfloat
librustc_asan
librustc_borrowck
librustc_codegen_llvm Auto merge of #53962 - michaelwoerister:close-thinlto-file-descriptors, r=alexcrichton 2018-09-05 20:52:42 +00:00
librustc_codegen_utils
librustc_cratesio_shim Breaking change upgrades 2018-09-04 13:22:08 -06:00
librustc_data_structures Auto merge of #52626 - brunocodutra:issue-52475, r=oli-obk 2018-09-06 17:35:40 +00:00
librustc_driver Move #[test_case] to a syntax extension 2018-09-04 22:33:23 -07:00
librustc_errors Breaking change upgrades 2018-09-04 13:22:08 -06:00
librustc_fs_util
librustc_incremental Breaking change upgrades 2018-09-04 13:22:08 -06:00
librustc_lint Rollup merge of #53550 - brson:recurring, r=estebank 2018-09-07 15:26:40 +08:00
librustc_llvm
librustc_lsan
librustc_metadata Auto merge of #53721 - arielb1:exhaustively-unpun, r=nikomatsakis 2018-09-06 06:42:19 +00:00
librustc_metadata_utils
librustc_mir Auto merge of #53327 - wesleywiser:wip_optimize_nll, r=nikomatsakis 2018-09-07 17:56:23 +00:00
librustc_msan
librustc_passes Auto merge of #53815 - F001:if-let-guard, r=petrochenkov 2018-09-01 20:31:29 +00:00
librustc_platform_intrinsics
librustc_plugin Add deprecated_name argument to the register lint group functions 2018-08-31 00:46:55 -07:00
librustc_privacy Auto merge of #53721 - arielb1:exhaustively-unpun, r=nikomatsakis 2018-09-06 06:42:19 +00:00
librustc_resolve rustc_resolve: allow `use crate_name;` under `uniform_paths`. 2018-09-06 22:07:56 +03:00
librustc_save_analysis A few cleanups and minor improvements to save_analysis 2018-09-03 18:37:54 +02:00
librustc_target Auto merge of #53878 - alexcrichton:wasm-atomics-feature, r=eddyb 2018-09-05 13:19:19 +00:00
librustc_traits
librustc_tsan
librustc_typeck Auto merge of #53707 - eddyb:phantom-waffles, r=oli-obk 2018-09-06 09:32:23 +00:00
librustdoc Auto merge of #53707 - eddyb:phantom-waffles, r=oli-obk 2018-09-06 09:32:23 +00:00
libserialize
libstd Rollup merge of #53376 - frewsxcv:frewsxcv-copy, r=GuillaumeGomez 2018-09-07 15:26:30 +08:00
libsyntax Validate syntax of `cfg` attributes 2018-09-06 01:18:30 +03:00
libsyntax_ext Move #[test_case] to a syntax extension 2018-09-04 22:33:23 -07:00
libsyntax_pos
libterm
libtest Auto merge of #53867 - cwndrws:json-test-formatter-test-count-as-num, r=nrc 2018-09-05 09:57:56 +00:00
libunwind
llvm@2a1cdeadd3 Update LLVM submodule 2018-08-31 16:00:41 -07:00
llvm-emscripten@2717444753
rtstartup
rustc
rustllvm Auto merge of #53673 - michaelwoerister:incr-thinlto-2000, r=alexcrichton 2018-09-03 13:59:57 +00:00
stdsimd@05c2f61c38
test Auto merge of #53327 - wesleywiser:wip_optimize_nll, r=nikomatsakis 2018-09-07 17:56:23 +00:00
tools Rollup merge of #54023 - matthiaskrgr:clippy, r=oli-obk 2018-09-07 18:14:28 +08:00
.gitignore
Cargo.lock update clippy submodule 2018-09-07 09:18:03 +02:00
Cargo.toml
README.md
stage0.txt

README.md

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

  • rustc and its tests
  • libstd
  • Various submodules for tools, like rustdoc, rls, etc.

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

Their is also useful content in the following READMEs, which are gradually being moved over to the guide: