rust/src
Nicholas Nethercote e539dd65f8 Eliminate the SessionGlobals from librustc_ast.
By moving `{known,used}_attrs` from `SessionGlobals` to `Session`. This
means they are accessed via the `Session`, rather than via TLS. A few
`Attr` methods and `librustc_ast` functions are now methods of
`Session`.

All of this required passing a `Session` to lots of functions that didn't
already have one. Some of these functions also had arguments removed, because
those arguments could be accessed directly via the `Session` argument.

`contains_feature_attr()` was dead, and is removed.

Some functions were moved from `librustc_ast` elsewhere because they now need
to access `Session`, which isn't available in that crate.
- `entry_point_type()` --> `librustc_builtin_macros`
- `global_allocator_spans()` --> `librustc_metadata`
- `is_proc_macro_attr()` --> `Session`
2020-08-08 12:03:42 +10:00
..
bootstrap Auto merge of #75111 - mati865:use-lld-option, r=Mark-Simulacrum 2020-08-04 05:37:44 +00:00
build_helper build: Harden env var tracking in build scripts 2020-07-22 19:51:19 +03:00
ci ci: disable fail-fast on auto-fallible 2020-08-04 11:14:28 +02:00
doc Update books 2020-08-04 16:45:19 -07:00
etc Handle new HashMap layout in CDB, MSVC, WinDbg, etc. 2020-08-07 07:03:15 +01:00
librustc_apfloat
librustc_arena Rollup merge of #73378 - matthewjasper:arena-not-special, r=oli-obk 2020-06-20 14:45:00 -07:00
librustc_ast Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_ast_lowering Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_ast_passes Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_ast_pretty Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_attr Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_builtin_macros Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_codegen_llvm Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_codegen_ssa Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_data_structures Move from log to tracing 2020-07-31 22:38:20 +02:00
librustc_driver Remove some unnecessary uses of Option. 2020-08-08 12:02:45 +10:00
librustc_error_codes Rollup merge of #75217 - GuillaumeGomez:cleanup-e0747, r=Dylan-DPC 2020-08-07 09:35:28 +09:00
librustc_errors Show backtrace numbers in backtrace whenever more than one is involved 2020-08-05 11:05:12 -04:00
librustc_expand Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_feature Fix typo in librustc_feature/active.rs 2020-08-05 11:02:47 +03:00
librustc_fs_util
librustc_graphviz
librustc_hir Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_hir_pretty Remove lots of Symbol::as_str() calls. 2020-07-15 09:01:35 +10:00
librustc_incremental Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_index mir: use FiniteBitSet<u32> in polymorphization 2020-08-04 18:30:53 +01:00
librustc_infer Auto merge of #74969 - nnethercote:rm-GCX_PTR, r=Mark-Simulacrum 2020-08-03 01:50:25 +00:00
librustc_interface Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_lexer Rollup merge of #73856 - pierwill:pierwill-lexer-doc, r=jonas-schievink 2020-07-06 17:45:17 -07:00
librustc_lint Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_llvm Rollup merge of #74643 - petrochenkov:noenvrerun, r=Mark-Simulacrum 2020-07-22 16:34:50 -07:00
librustc_macros Enforce the static symbol order. 2020-07-16 16:53:24 +10:00
librustc_metadata Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_middle Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_mir Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_mir_build Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_parse Add some comments for magic numbers + Add tests 2020-08-06 22:55:26 +03:00
librustc_parse_format Eliminate confusing "globals" terminology. 2020-07-09 14:11:44 +10:00
librustc_passes Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_plugin_impl Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_privacy Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_query_system Auto merge of #75055 - cjgillot:clean-cache, r=oli-obk 2020-08-03 03:37:33 +00:00
librustc_resolve Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_save_analysis Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_serialize
librustc_session Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_span Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_symbol_mangling Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_target Remove the --no-threads workaround for wasm targets. 2020-08-04 13:31:08 -07:00
librustc_trait_selection Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_traits Move from log to tracing 2020-07-31 22:38:20 +02:00
librustc_ty Move from log to tracing 2020-07-31 22:38:20 +02:00
librustc_typeck Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustdoc Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
llvm-project@86b120e6f3 Update llvm-project to latest origin/rustc/10.0-2020-05-05 commit which includes LVI segfault fix 2020-07-12 18:49:14 +00:00
rustc
rustllvm Fixed coverage map issues; better aligned with LLVM APIs 2020-07-25 07:39:51 -07:00
test Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
tools Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
README.md Update outdated readme 2020-07-27 22:05:34 -05:00
stage0.txt Bump to 1.47 2020-07-16 19:36:49 -04:00

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

  • rustc and its tests
  • 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.