rust/src
bors 26286c7ad0 Auto merge of #66931 - cjgillot:hirene-preamble, r=eddyb
Allocate HIR on an arena 1/4

This PR is the first in a series of 4, aiming at allocating the HIR on an arena, as a memory optimisation.

1. This first PR lays the groundwork and migrates some low-hanging fruits.
2. The second PR will migrate `hir::Expr`, `hir::Pat` and related.
3. The third PR will migrate `hir::Ty` and related.
4. The final PR will be dedicated to eventual cleanups.

In order to make the transition as gradual as possible, some lowering routines receive `Box`-allocated data and move it into the arena. This is a bit wasteful, but hopefully temporary.
Nonetheless, special care should be taken to avoid double arena allocations.

Work mentored by @Zoxc.
2019-12-22 10:30:51 +00:00
..
bootstrap Rollup merge of #67410 - mati865:mingw_link_fix, r=Mark-Simulacrum 2019-12-22 02:40:01 +01:00
build_helper
ci Set release channel on non-dist builders 2019-12-18 22:44:42 -05:00
doc Update cargo, books 2019-12-14 17:33:08 -08:00
etc Make dec2flt_table compatible with rustfmt 2019-11-29 20:17:09 -08:00
liballoc Rollup merge of #67504 - Mark-Simulacrum:note-data-offset, r=Centril 2019-12-22 02:40:07 +01:00
libarena Fix TypedArena. 2019-12-03 23:35:40 +01:00
libcore Rollup merge of #67480 - rossmacarthur:fix-41260-avoid-issue-0-part-2, r=Centril 2019-12-22 02:40:04 +01:00
libfmt_macros Rename to then_some and then 2019-12-06 12:24:54 +00:00
libgraphviz
libpanic_abort
libpanic_unwind libunwind_panic: adjust miri panic hack 2019-11-30 10:13:25 +01:00
libproc_macro
libprofiler_builtins Require issue = "none" over issue = "0" in unstable attributes 2019-12-21 13:16:18 +02:00
librustc Auto merge of #66931 - cjgillot:hirene-preamble, r=eddyb 2019-12-22 10:30:51 +00:00
librustc_apfloat
librustc_asan Require issue = "none" over issue = "0" in unstable attributes 2019-12-21 13:16:18 +02:00
librustc_codegen_llvm Handle Attributes in arena. 2019-12-21 23:20:09 +01:00
librustc_codegen_ssa 1. ast::Mutability::{Mutable -> Mut, Immutable -> Not}. 2019-12-20 22:22:44 +01:00
librustc_codegen_utils Use Arena inside hir::ImplItem. 2019-12-21 23:31:47 +01:00
librustc_data_structures Revert "Auto merge of #67362 - Mark-Simulacrum:par-4-default, r=alexcrichton" 2019-12-17 16:28:33 -05:00
librustc_driver Use Arena inside hir::Crate. 2019-12-21 23:12:44 +01:00
librustc_error_codes Rollup merge of #67480 - rossmacarthur:fix-41260-avoid-issue-0-part-2, r=Centril 2019-12-22 02:40:04 +01:00
librustc_errors async/await: more improvements to non-send errors 2019-12-08 16:29:08 +00:00
librustc_feature Auto merge of #67216 - ecstatic-morse:const-loop, r=oli-obk 2019-12-15 01:28:28 +00:00
librustc_fs_util
librustc_incremental Use Arena inside hir::StructField. 2019-12-21 23:33:42 +01:00
librustc_index Added ExactSizeIterator bound to return types 2019-12-09 21:16:48 +01:00
librustc_interface Use Arena inside hir::ImplItem. 2019-12-21 23:31:47 +01:00
librustc_lexer
librustc_lint Auto merge of #66931 - cjgillot:hirene-preamble, r=eddyb 2019-12-22 10:30:51 +00:00
librustc_llvm Fix weird implicit dependency between rustllvm and rustc_codegen_llvm 2019-12-12 10:51:19 -05:00
librustc_lsan Require issue = "none" over issue = "0" in unstable attributes 2019-12-21 13:16:18 +02:00
librustc_macros Rename StableHashingContextLike to HashStableContext. 2019-11-23 17:57:00 +01:00
librustc_metadata Use Arena inside hir::Mod. 2019-12-21 23:34:34 +01:00
librustc_mir Auto merge of #66931 - cjgillot:hirene-preamble, r=eddyb 2019-12-22 10:30:51 +00:00
librustc_msan Require issue = "none" over issue = "0" in unstable attributes 2019-12-21 13:16:18 +02:00
librustc_parse Rollup merge of #67148 - Centril:ty-polish, r=estebank 2019-12-22 02:40:00 +01:00
librustc_passes Use Arena inside hir::Body. 2019-12-21 23:39:19 +01:00
librustc_plugin_impl Use Arena inside hir::ImplItem. 2019-12-21 23:31:47 +01:00
librustc_privacy Use Arena inside hir::Mod. 2019-12-21 23:34:34 +01:00
librustc_resolve Rollup merge of #67160 - matthewjasper:gat-generics, r=nikomatsakis 2019-12-21 19:07:31 +01:00
librustc_save_analysis Use Arena inside hir::Item. 2019-12-21 23:17:29 +01:00
librustc_session Remove rarely used -Zdisable_instrumentation_preinliner flag. 2019-12-20 17:08:46 +01:00
librustc_target Rollup merge of #67255 - tuxillo:remove-i686-unknown-dragonfly, r=alexcrichton 2019-12-15 05:57:21 +01:00
librustc_traits Use Arena inside hir::StructField. 2019-12-21 23:33:42 +01:00
librustc_tsan Require issue = "none" over issue = "0" in unstable attributes 2019-12-21 13:16:18 +02:00
librustc_typeck Auto merge of #66931 - cjgillot:hirene-preamble, r=eddyb 2019-12-22 10:30:51 +00:00
librustdoc Auto merge of #66931 - cjgillot:hirene-preamble, r=eddyb 2019-12-22 10:30:51 +00:00
libserialize Revert "Stabilize the never_type, written !." 2019-12-14 09:01:09 -05:00
libstd Require issue = "none" over issue = "0" in unstable attributes 2019-12-21 13:16:18 +02:00
libsyntax Rollup merge of #67480 - rossmacarthur:fix-41260-avoid-issue-0-part-2, r=Centril 2019-12-22 02:40:04 +01:00
libsyntax_expand Rollup merge of #67355 - Centril:merge-mut, r=oli-obk 2019-12-21 15:29:42 +01:00
libsyntax_ext Rollup merge of #67355 - Centril:merge-mut, r=oli-obk 2019-12-21 15:29:42 +01:00
libsyntax_pos recover on 'mut', 'var', 'auto' 2019-12-20 22:53:40 +01:00
libterm make use of Result::map_or 2019-12-02 06:26:48 +00:00
libtest Use Instant::now lazily 2019-12-06 12:24:54 +00:00
libunwind
llvm-project@2cb41005ed Update LLVM submodule 2019-11-30 01:34:31 +01:00
rtstartup
rustc rustc: Link LLVM directly into rustc again 2019-12-11 09:50:11 -05:00
rustllvm Rollup merge of #67033 - cuviper:ValueName2, r=rkruppe 2019-12-07 00:10:02 +09:00
stdarch@e0ab2c165a
test Auto merge of #67505 - Centril:rollup-7win7ty, r=Centril 2019-12-22 07:01:50 +00:00
tools Auto merge of #67505 - Centril:rollup-7win7ty, r=Centril 2019-12-22 07:01:50 +00:00
README.md
stage0.txt Bump stage0 2019-12-18 11:51:31 -05:00

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.