rust/src
Guillaume Gomez fbe6241064
Rollup merge of #53025 - ljedrz:debug_asserts_limited, r=varkor
Consider changing assert! to debug_assert! when it calls visit_with

The perf run from #52956 revealed that there were 3 benchmarks that benefited most from changing `assert!`s to `debug_assert!`s:

- issue #46449: avg -4.7% for -check
- deeply-nested (AKA #38528): avg -3.4% for -check
- regression #31157: avg -3.2% for -check

I analyzed their fixing PRs and decided to look for potentially heavy assertions in the files they modified. I noticed that all of the non-trivial ones contained indirect calls to `visit_with()`.

It might be a good idea to consider changing `assert!` to `debug_assert!` in those places in order to get the performance wins shown by the benchmarks.
2018-08-12 23:26:50 +02:00
..
bootstrap
build_helper
ci
dlmalloc@c99638dc2e
doc
etc
grammar
jemalloc@1f5a28755e
liballoc liballoc: enable feature(nll) for bootstrap 2018-08-09 01:50:49 -04:00
liballoc_jemalloc liballoc_jemalloc: enable feature(nll) for bootstrap 2018-08-09 01:50:37 -04:00
liballoc_system liballoc_system: enable feature(nll) for bootstrap 2018-08-09 01:50:22 -04:00
libarena [nll] libarena: enable feature(nll) for bootstrap 2018-08-09 04:07:59 -04:00
libbacktrace@f4d02bbdbf
libcompiler_builtins@d549d85b17
libcore Rollup merge of #53207 - llogiq:num-rotate-docs, r=QuietMisdreavus 2018-08-10 01:55:31 +08:00
libfmt_macros [nll] libfmt_macros: enable feature(nll) for bootstrap 2018-08-09 06:48:10 -04:00
libgraphviz libgraphviz: enable feature(nll) for bootstrap 2018-08-09 01:50:08 -04:00
liblibc@6bdbf5dc93 Update libc and activate align feature 2018-08-08 10:52:10 +02:00
libpanic_abort [nll] libpanic_abort: enable feature(nll) for bootstrap 2018-08-09 06:48:53 -04:00
libpanic_unwind [nll] libpanic_unwind: enable feature(nll) for bootstrap 2018-08-09 06:49:12 -04:00
libproc_macro
libprofiler_builtins
librustc Rollup merge of #53025 - ljedrz:debug_asserts_limited, r=varkor 2018-08-12 23:26:50 +02:00
librustc_allocator rustc: Tweak visibility of some lang items 2018-08-07 08:42:38 -07:00
librustc_apfloat [nll] librustc_apfloat: enable feature(nll) for bootstrap 2018-08-09 06:49:31 -04:00
librustc_asan [nll] librustc_asan: enable feature(nll) for bootstrap 2018-08-09 04:08:17 -04:00
librustc_borrowck Auto merge of #52788 - LukasKalbertodt:improve-index-mut-error, r=estebank 2018-08-09 22:05:18 +00:00
librustc_codegen_llvm Auto merge of #53073 - Mark-Simulacrum:data-structures, r=pnkfelix 2018-08-10 00:14:52 +00:00
librustc_codegen_utils Move SVH structure to data structures 2018-08-09 10:00:25 -06:00
librustc_cratesio_shim [nll] librustc_cratesio_shim: enable feature(nll) for bootstrap 2018-08-09 06:50:25 -04:00
librustc_data_structures Rollup merge of #53019 - ljedrz:bad_collects, r=estebank 2018-08-12 23:26:49 +02:00
librustc_driver Auto merge of #53073 - Mark-Simulacrum:data-structures, r=pnkfelix 2018-08-10 00:14:52 +00:00
librustc_errors Rollup merge of #53214 - memoryruins:nll_bootstrap_2, r=nikomatsakis 2018-08-10 01:01:31 +08:00
librustc_fs_util Move path2cstr to rustc_fs_util 2018-08-09 10:00:25 -06:00
librustc_incremental Auto merge of #53073 - Mark-Simulacrum:data-structures, r=pnkfelix 2018-08-10 00:14:52 +00:00
librustc_lint Rollup merge of #53211 - memoryruins:nll_bootstrap, r=nikomatsakis 2018-08-10 01:01:30 +08:00
librustc_llvm
librustc_lsan
librustc_metadata Auto merge of #53073 - Mark-Simulacrum:data-structures, r=pnkfelix 2018-08-10 00:14:52 +00:00
librustc_metadata_utils
librustc_mir Auto merge of #53177 - nikomatsakis:nll-redundant-borrows-and-escaping-values, r=pnkfelix 2018-08-10 19:18:22 +00:00
librustc_msan
librustc_passes [nll] librustc_passes: enable feature(nll) for bootstrap 2018-08-09 04:09:07 -04:00
librustc_platform_intrinsics
librustc_plugin [nll] librustc_plugin: enable feature(nll) for bootstrap 2018-08-09 04:09:29 -04:00
librustc_privacy [nll] librustc_privacy: enable feature(nll) for bootstrap 2018-08-09 04:09:50 -04:00
librustc_resolve Rollup merge of #53214 - memoryruins:nll_bootstrap_2, r=nikomatsakis 2018-08-10 01:01:31 +08:00
librustc_save_analysis Rollup merge of #53214 - memoryruins:nll_bootstrap_2, r=nikomatsakis 2018-08-10 01:01:31 +08:00
librustc_target Rollup merge of #53222 - ljedrz:cleanup_rustc_target, r=Mark-Simulacrum 2018-08-10 01:04:10 +08:00
librustc_traits [nll] librustc_traits: enable feature(nll) for bootstrap 2018-08-09 04:10:46 -04:00
librustc_tsan [nll] librustc_tsan: enable feature(nll) for bootstrap 2018-08-09 04:11:06 -04:00
librustc_typeck Rollup merge of #52773 - ljedrz:unncecessary_patterns, r=nikomatsakis 2018-08-09 16:58:39 +08:00
librustdoc Rollup merge of #53094 - GuillaumeGomez:automatic-expand, r=nrc 2018-08-09 16:58:41 +08:00
libserialize
libstd Auto merge of #53216 - kennytm:rollup, r=kennytm 2018-08-09 19:05:14 +00:00
libsyntax Rollup merge of #53019 - ljedrz:bad_collects, r=estebank 2018-08-12 23:26:49 +02:00
libsyntax_ext Rollup merge of #53215 - ljedrz:refactor_format, r=estebank 2018-08-10 01:03:45 +08:00
libsyntax_pos [nll] libsyntax_pos: enable feature(nll) for bootstrap 2018-08-09 06:51:42 -04:00
libterm [nll] libterm: enable feature(nll) for bootstrap 2018-08-09 06:51:56 -04:00
libtest
libunwind [nll] libunwind: enable feature(nll) for bootstrap 2018-08-09 06:52:12 -04:00
llvm@e19f07f5a6
llvm-emscripten@2717444753
rtstartup
rustc Update libc and activate align feature 2018-08-08 10:52:10 +02:00
rustllvm
stdsimd@05c2f61c38
test Rollup merge of #52955 - tromey:compiler-test-docs, r=nikomatsakis 2018-08-12 23:26:48 +02:00
tools Update clippy submodule 2018-08-08 13:19:30 +02:00
Cargo.lock Move rustc::util::fs into separate (new) crate 2018-08-09 10:00:25 -06:00
Cargo.toml
README.md
stage0.txt

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: