rust/src
Dylan DPC 040e242168
Rollup merge of #72090 - RalfJung:rustc_driver-exit-code, r=oli-obk
rustc_driver: factor out computing the exit code

In a recent Miri PR I [added a convenience wrapper](https://github.com/rust-lang/miri/pull/1405/files#diff-c3d602c5c8035a16699ce9c015bfeceaR125) around `catch_fatal_errors` and `run_compiler` that @oli-obk suggested I could upstream. However, after seeing what could be shared between `rustc_driver::main`, clippy and Miri, really the only thing I found is computing the exit code -- so that's what this PR does.

What prevents using the Miri convenience function in `rustc_driver::main` and clippy is that they do extra work inside `catch_fatal_errors`, and while I could abstract that away, clippy actually *computes the callbacks* inside there, and I fond no good way to abstract that and thus gave up. Maybe the clippy thing could be moved out, I am not sure if it ever can actually raise a `FatalErrorMarker` -- someone more knowledgeable in clippy would have to do that.
2020-05-16 02:37:23 +02:00
..
bootstrap Rollup merge of #72172 - Mark-Simulacrum:check-no-stage, r=alexcrichton 2020-05-15 01:57:19 +02:00
build_helper
ci Configure cache domain for GHA 2020-05-11 10:50:53 -04:00
doc Update books 2020-05-12 11:27:03 -07:00
etc
liballoc Auto merge of #71321 - matthewjasper:alloc-min-spec, r=sfackler 2020-05-14 23:22:47 +00:00
libarena
libcore Auto merge of #69659 - CAD97:step-rework-take-3, r=Amanieu 2020-05-15 11:24:50 +00:00
libfmt_macros Dogfood more or_patterns in the compiler 2020-04-19 07:33:58 -07:00
libgraphviz
libpanic_abort Bump bootstrap compiler 2020-04-25 09:25:33 -04:00
libpanic_unwind Bump bootstrap compiler 2020-04-25 09:25:33 -04:00
libproc_macro Rollup merge of #68716 - petrochenkov:stabmixed, r=dtolnay 2020-04-27 03:26:05 +02:00
libprofiler_builtins
librustc_apfloat Dogfood more or_patterns in the compiler 2020-04-19 07:33:58 -07:00
librustc_ast Rollup merge of #71555 - cjgillot:nameless, r=matthewjasper 2020-05-09 13:36:39 +02:00
librustc_ast_lowering use min_specialization for some rustc crates where it requires no changes 2020-05-10 11:25:00 +02:00
librustc_ast_passes Minor fixes to comments 2020-05-14 16:39:36 -04:00
librustc_ast_pretty Fix tests 2020-05-08 13:57:08 +02:00
librustc_attr Fix clippy warnings 2020-05-11 17:13:32 +02:00
librustc_builtin_macros Remove ast::{Ident, Name} reexports. 2020-05-08 13:13:15 +02:00
librustc_codegen_llvm Rollup merge of #71555 - cjgillot:nameless, r=matthewjasper 2020-05-09 13:36:39 +02:00
librustc_codegen_ssa Rollup merge of #72062 - overdrivenpotato:psp, r=jonas-schievink 2020-05-15 01:57:15 +02:00
librustc_data_structures Rollup merge of #72109 - matthiaskrgr:cl8ppy, r=Dylan-DPC 2020-05-11 22:21:08 +02:00
librustc_driver rustc_driver::main: more informative return type 2020-05-11 00:11:42 +02:00
librustc_error_codes Rollup merge of #72191 - GuillaumeGomez:cleanup-e0589, r=Dylan-DPC 2020-05-14 18:21:57 +02:00
librustc_errors Simplify the error Registry methods a little 2020-05-04 11:52:15 -07:00
librustc_expand Fix tests 2020-05-08 13:57:08 +02:00
librustc_feature Implement RFC 2523, #[cfg(version(..))] 2020-05-03 02:42:07 +02:00
librustc_fs_util
librustc_hir bless ui tests 2020-05-11 14:06:57 +08:00
librustc_hir_pretty Remove ast::{Ident, Name} reexports. 2020-05-08 13:13:15 +02:00
librustc_incremental Change WorkProduct::saved_files to an Option. 2020-05-12 17:55:07 +10:00
librustc_index
librustc_infer Rollup merge of #72087 - matthewjasper:regionck-hang, r=nikomatsakis 2020-05-14 18:21:48 +02:00
librustc_interface Fix clippy warnings 2020-05-11 17:13:32 +02:00
librustc_lexer Revert "Rollup merge of #71372 - ayushmishra2005:shebang_stripping, r=estebank" 2020-04-28 13:02:58 +03:00
librustc_lint Rollup merge of #71910 - mibac138:necessary-paren, r=cuviper 2020-05-14 18:21:46 +02:00
librustc_llvm Don't skip building LLVM if already built 2020-05-02 18:43:55 -04:00
librustc_macros Monomorphise load_from_disk_and_cache_in_memory. 2020-05-01 14:29:35 +02:00
librustc_metadata use min_specialization for some rustc crates where it requires no changes 2020-05-10 11:25:00 +02:00
librustc_middle Rollup merge of #71948 - csmoe:issue-61076, r=oli-obk 2020-05-16 02:37:21 +02:00
librustc_mir Rollup merge of #72170 - lcnr:lang_item, r=oli-obk 2020-05-14 18:21:55 +02:00
librustc_mir_build Rollup merge of #72170 - lcnr:lang_item, r=oli-obk 2020-05-14 18:21:55 +02:00
librustc_parse Remove ast::{Ident, Name} reexports. 2020-05-08 13:13:15 +02:00
librustc_passes Fix clippy warnings 2020-05-11 17:13:32 +02:00
librustc_plugin_impl Remove ast::{Ident, Name} reexports. 2020-05-08 13:13:15 +02:00
librustc_privacy Remove ty::UnnormalizedProjection 2020-05-12 01:56:29 -04:00
librustc_query_system Rollup merge of #72126 - nnethercote:change-WorkProduct-saved_files, r=alexcrichton 2020-05-14 18:21:50 +02:00
librustc_resolve Remove ast::{Ident, Name} reexports. 2020-05-08 13:13:15 +02:00
librustc_save_analysis Rollup merge of #71809 - marmeladema:fix-issue-71104, r=eddyb 2020-05-15 01:57:07 +02:00
librustc_session Rollup merge of #72067 - jonas-schievink:fuel-warn, r=varkor 2020-05-11 22:21:01 +02:00
librustc_span use min_specialization for some rustc crates where it requires no changes 2020-05-10 11:25:00 +02:00
librustc_symbol_mangling Remove ty::UnnormalizedProjection 2020-05-12 01:56:29 -04:00
librustc_target Rollup merge of #72062 - overdrivenpotato:psp, r=jonas-schievink 2020-05-15 01:57:15 +02:00
librustc_trait_selection Rollup merge of #71948 - csmoe:issue-61076, r=oli-obk 2020-05-16 02:37:21 +02:00
librustc_traits Rollup merge of #72150 - jackh726:unnorm_projection, r=nikomatsakis 2020-05-14 10:22:59 +02:00
librustc_ty Remove ty::UnnormalizedProjection 2020-05-12 01:56:29 -04:00
librustc_typeck Rollup merge of #71948 - csmoe:issue-61076, r=oli-obk 2020-05-16 02:37:21 +02:00
librustdoc Rollup merge of #71724 - GuillaumeGomez:doc-alias-improvements, r=ollie27 2020-05-16 02:37:19 +02:00
libserialize use min_specialization for some rustc crates where it requires no changes 2020-05-10 11:25:00 +02:00
libstd Rollup merge of #71677 - Mark-Simulacrum:hasher-docs, r=Amanieu 2020-05-16 02:37:14 +02:00
libterm Replace filter_map().next() calls with find_map() 2020-04-24 20:03:45 -07:00
libtest Fix clippy warnings 2020-05-11 17:13:32 +02:00
libunwind Use -fvisibility=hidden for libunwind 2020-05-05 12:41:23 -07:00
llvm-project@3ba91917e5 Store LLVM bitcode in object files, not compressed 2020-04-29 11:57:26 -07:00
rtstartup
rustc
rustllvm Rollup merge of #71234 - maurer:init-array, r=cuviper 2020-05-09 13:36:32 +02:00
stdarch@ec6fccd34c Update stdarch 2020-05-09 16:03:40 -04:00
test Rollup merge of #71948 - csmoe:issue-61076, r=oli-obk 2020-05-16 02:37:21 +02:00
tools Rollup merge of #72090 - RalfJung:rustc_driver-exit-code, r=oli-obk 2020-05-16 02:37:23 +02:00
README.md
stage0.txt Bump rustfmt to most recently shipped 2020-04-25 09:25:33 -04: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 dev guide.