fc81e36242
[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` ``` |
||
---|---|---|
.. | ||
bootstrap | ||
build_helper | ||
ci | ||
dlmalloc@c99638dc2e | ||
doc | ||
etc | ||
grammar | ||
jemalloc@1f5a28755e | ||
liballoc | ||
liballoc_jemalloc | ||
liballoc_system | ||
libarena | ||
libbacktrace@f4d02bbdbf | ||
libcompiler_builtins@0703bfa725 | ||
libcore | ||
libfmt_macros | ||
libgraphviz | ||
liblibc@1844a772b6 | ||
libpanic_abort | ||
libpanic_unwind | ||
libproc_macro | ||
libprofiler_builtins | ||
librustc | ||
librustc_allocator | ||
librustc_apfloat | ||
librustc_asan | ||
librustc_borrowck | ||
librustc_codegen_llvm | ||
librustc_codegen_utils | ||
librustc_cratesio_shim | ||
librustc_data_structures | ||
librustc_driver | ||
librustc_errors | ||
librustc_fs_util | ||
librustc_incremental | ||
librustc_lint | ||
librustc_llvm | ||
librustc_lsan | ||
librustc_metadata | ||
librustc_metadata_utils | ||
librustc_mir | ||
librustc_msan | ||
librustc_passes | ||
librustc_platform_intrinsics | ||
librustc_plugin | ||
librustc_privacy | ||
librustc_resolve | ||
librustc_save_analysis | ||
librustc_target | ||
librustc_traits | ||
librustc_tsan | ||
librustc_typeck | ||
librustdoc | ||
libserialize | ||
libstd | ||
libsyntax | ||
libsyntax_ext | ||
libsyntax_pos | ||
libterm | ||
libtest | ||
libunwind | ||
llvm@2a1cdeadd3 | ||
llvm-emscripten@2717444753 | ||
rtstartup | ||
rustc | ||
rustllvm | ||
stdsimd@05c2f61c38 | ||
test | ||
tools | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md | ||
stage0.txt |
README.md
This directory contains the source code of the rust project, including:
rustc
and its testslibstd
- 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:
- https://github.com/rust-lang/rust/tree/master/src/librustc/ty/query
- https://github.com/rust-lang/rust/tree/master/src/librustc/dep_graph
- https://github.com/rust-lang/rust/blob/master/src/librustc/infer/region_constraints
- https://github.com/rust-lang/rust/tree/master/src/librustc/infer/higher_ranked
- https://github.com/rust-lang/rust/tree/master/src/librustc/infer/lexical_region_resolve