rust/src
Mazdak Farrokhzad b772b5b19d
Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk
Feature gating *declarations* => new crate `rustc_feature`

This PR moves the data-oriented parts of feature gating into its own crate, `rustc_feature`.
The parts consist of some data types as well as `accepted`, `active`, `removed`, and `builtin_attrs`.

Feature gate checking itself remains in `syntax::feature_gate::check`. The parts which define how to emit feature gate errors could probably be moved to `rustc_errors` or to the new `rustc_session` crate introduced in #66878. The visitor itself could probably be moved as a pass in `rustc_passes` depending on how the dependency edges work out.

The PR also contains some drive-by cleanup of feature gate checking. As such, the PR probably best read commit-by-commit.

r? @oli-obk
cc @petrochenkov
cc @Mark-Simulacrum
2019-11-30 16:56:58 +01:00
..
bootstrap Fix spelling typos 2019-11-26 22:19:54 -05:00
build_helper
ci Revert "DO NOT MERGE: enable windows try builder" 2019-11-26 08:06:13 -05:00
doc Update documentation-tests.md 2019-11-25 19:34:32 -05:00
etc Make dec2flt_table compatible with rustfmt 2019-11-29 20:17:09 -08:00
liballoc Rollup merge of #66759 - CAD97:patch-3, r=KodrAus 2019-11-30 16:56:49 +01:00
libarena
libcore Rollup merge of #66894 - dtolnay:prelude, r=Centril 2019-11-30 16:56:56 +01:00
libfmt_macros Allow any identifier as format arg name 2019-11-28 11:24:51 -08:00
libgraphviz
libpanic_abort Revert "Auto merge of #65134 - davidtwco:issue-19834-improper-ctypes-in-extern-C-fn, r=rkruppe" 2019-11-13 17:00:47 +01:00
libpanic_unwind Rollup merge of #66766 - RalfJung:panic-comments, r=SimonSapin 2019-11-29 22:57:33 +01:00
libproc_macro Snap cfgs 2019-11-12 16:36:57 -05:00
libprofiler_builtins
librustc Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
librustc_apfloat
librustc_asan
librustc_codegen_llvm Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
librustc_codegen_ssa rustc: move debug info from LocalDecl and UpvarDecl into a dedicated VarDebugInfo. 2019-11-27 19:22:03 +02:00
librustc_codegen_utils Stabilize the never_type, written !. 2019-11-21 14:55:32 +01:00
librustc_data_structures Fix spelling typos 2019-11-26 22:19:54 -05:00
librustc_driver Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
librustc_error_codes Rollup merge of #66808 - GuillaumeGomez:cleanup-err-code-3, r=Dylan-DPC 2019-11-29 22:57:38 +01:00
librustc_errors Draw vertical lines in compiler error messages with multiline annotations correctly when non-1space unicode characters are to the left 2019-11-27 20:02:20 +01:00
librustc_feature derive(Default) for Features 2019-11-30 07:44:50 +01:00
librustc_fs_util
librustc_incremental
librustc_index
librustc_interface Rollup merge of #66791 - cjgillot:arena, r=Mark-Simulacrum 2019-11-29 22:57:34 +01:00
librustc_lexer move syntax::parse -> librustc_parse 2019-11-10 03:57:18 +01:00
librustc_lint builtin_attrs.rs -> rustc_feature 2019-11-30 02:34:18 +01:00
librustc_llvm
librustc_lsan
librustc_macros Rename StableHashingContextLike to HashStableContext. 2019-11-23 17:57:00 +01:00
librustc_metadata Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
librustc_mir Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
librustc_msan
librustc_parse derive(Default) for Features 2019-11-30 07:44:50 +01:00
librustc_passes move GateIssue to rustc_feature & simplify emit_feature_err 2019-11-30 07:40:28 +01:00
librustc_plugin_impl rustc_plugin: Remove support for syntactic plugins 2019-11-24 12:05:10 +03:00
librustc_privacy allow customising ty::TraitRef's printing behavior 2019-11-29 17:30:21 +03:00
librustc_resolve Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
librustc_save_analysis ast: Keep extern qualifiers in functions more precisely 2019-11-16 21:21:37 +03:00
librustc_target Auto merge of #66645 - RalfJung:dereferenceable, r=pnkfelix 2019-11-29 11:35:03 +00:00
librustc_traits Retire BraceStructLiftImpl. 2019-11-18 08:41:28 +01:00
librustc_tsan
librustc_typeck Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
librustdoc Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
libserialize Stabilize the never_type, written !. 2019-11-21 14:55:32 +01:00
libstd Rollup merge of #66705 - pitdicker:atomic_mut_ptr, r=KodrAus 2019-11-30 16:56:47 +01:00
libsyntax Rollup merge of #66895 - Centril:rustc_feature, r=oli-obk 2019-11-30 16:56:58 +01:00
libsyntax_expand move GateIssue to rustc_feature & simplify emit_feature_err 2019-11-30 07:40:28 +01:00
libsyntax_ext builtin_attrs.rs -> rustc_feature 2019-11-30 02:34:18 +01:00
libsyntax_pos Auto merge of #66279 - cjgillot:hashstable, r=Zoxc 2019-11-25 09:28:59 +00:00
libterm
libtest Add --force-run-in-process unstable libtest option 2019-11-15 05:52:06 -08:00
libunwind
llvm-project@de1a7dbf6c Update src/llvm-project to include rust-lang/llvm-project#27. 2019-11-15 22:56:40 +02:00
rtstartup
rustc
rustllvm Use LLVMAddAnalysisPasses instead of Rust's wrapper 2019-11-29 14:31:09 +11:00
stdarch@e0ab2c165a
test Rollup merge of #66870 - tmiasko:simplify-ty, r=oli-obk 2019-11-30 16:56:52 +01:00
tools tidy: adjust feature gating path 2019-11-30 06:32:49 +01:00
README.md
stage0.txt Bump version to 1.41 2019-11-12 16:36:57 -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.