rust/src
Tyler Mandry a8e0511b32
Rollup merge of #71688 - ecstatic-morse:const-downcast, r=oli-obk
Allow `Downcast` projections unconditionally in const-checking

`ProjectionElem::Downcast` sounds scary, but it's really just the projection we use to access a particular enum variant. They usually appear in the lowering of a `match` statement, so they have been associated with control flow in const-checking, but they don't do any control flow by themselves. We already have a HIR pass that looks for `if` and `match` (even ones that have 1 or fewer reachable branches). That pass is double-checked by a MIR pass that looks for `SwitchInt`s and `FakeRead`s for match scrutinees. In my opinion, there's no need to look for `Downcast` as well.

r? @oli-obk
2020-04-30 15:23:17 -07:00
..
bootstrap Rollup merge of #71567 - Mark-Simulacrum:no-success, r=matthiaskrgr 2020-04-30 15:23:12 -07:00
build_helper
ci ci: use bash when executing the "bors build finished" jobs 2020-04-29 16:32:32 +02:00
doc Auto merge of #71528 - alexcrichton:no-more-bitcode, r=nnethercote 2020-04-29 23:47:27 +00:00
etc Enforce Python 3 as much as possible 2020-04-10 09:09:58 -04:00
liballoc Rollup merge of #71148 - bluss:vec-drop-raw-slice, r=RalfJung 2020-04-30 15:23:08 -07:00
libarena
libcore Rollup merge of #71597 - CohenArthur:refactor-unique-empty, r=shepmaster 2020-04-30 20:15:28 +02: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 Require compiler-rt root at ../src/llvm-project/compiler-rt 2020-04-11 17:49:16 -04:00
librustc_apfloat Dogfood more or_patterns in the compiler 2020-04-19 07:33:58 -07:00
librustc_ast Rollup merge of #71284 - JOE1994:serialize_id, r=petrochenkov 2020-04-20 18:07:09 +02:00
librustc_ast_lowering Rollup merge of #71494 - flip1995:while_let_span, r=petrochenkov 2020-04-25 11:25:50 +02:00
librustc_ast_passes allow const generics in const fn 2020-04-13 22:37:20 +02:00
librustc_ast_pretty Remove unused dependencies 2020-04-20 17:59:27 +09:00
librustc_attr Avoid unused Option::map results 2020-04-24 13:58:41 -07:00
librustc_builtin_macros Dogfood more or_patterns in the compiler 2020-04-19 07:33:58 -07:00
librustc_codegen_llvm Add a convenience function for testing whether a static is #[thread_local] 2020-04-30 17:06:11 +02:00
librustc_codegen_ssa Auto merge of #70175 - Amanieu:remove_nlp, r=pnkfelix 2020-04-30 07:04:43 +00:00
librustc_data_structures Rollup merge of #70950 - nikomatsakis:leak-check-nll-2, r=matthewjasper 2020-04-30 20:15:20 +02:00
librustc_driver fix more clippy warnings 2020-04-26 02:24:01 +02:00
librustc_error_codes Rollup merge of #71426 - contrun:fix-e0751-explanation, r=estebank 2020-04-24 02:47:35 +02:00
librustc_errors Rollup merge of #71489 - spastorino:fix-treat-err-as-bug-handling, r=eddyb 2020-04-28 13:12:14 +02:00
librustc_expand Avoid unused Option::map results 2020-04-24 13:58:41 -07:00
librustc_feature #[link]: mention wasm_import_module instead of cfg 2020-03-29 17:40:04 +02:00
librustc_fs_util
librustc_hir Fix broken link in QPath documentation 2020-04-26 22:32:14 +02:00
librustc_hir_pretty Remove unused dependencies 2020-04-20 17:59:27 +09:00
librustc_incremental Auto merge of #71528 - alexcrichton:no-more-bitcode, r=nnethercote 2020-04-29 23:47:27 +00:00
librustc_index Use assoc integer constants in librustc_* 2020-04-07 00:43:16 +02:00
librustc_infer Rollup merge of #71449 - ecstatic-morse:free-region-cleanup, r=Mark-Simulacrum 2020-04-30 20:15:24 +02:00
librustc_interface Remove -Z no-landing-pads flag 2020-04-29 01:05:55 +01:00
librustc_lexer Revert "Rollup merge of #71372 - ayushmishra2005:shebang_stripping, r=estebank" 2020-04-28 13:02:58 +03:00
librustc_lint Accept LocalDefId as key for lint_mod query 2020-04-27 23:55:41 +01:00
librustc_llvm Don't emit rerun-if-changed on llvm-config if using system LLVM 2020-04-11 17:49:16 -04:00
librustc_macros Rollup merge of #70081 - lcnr:issue68387, r=varkor 2020-04-01 00:27:20 +02:00
librustc_metadata Return a FxHashSet<LocalDefId> from mir_keys query 2020-04-27 21:50:17 +01:00
librustc_middle Rollup merge of #71590 - RalfJung:mir-dump-pointers, r=oli-obk 2020-04-30 15:23:13 -07:00
librustc_mir Rollup merge of #71688 - ecstatic-morse:const-downcast, r=oli-obk 2020-04-30 15:23:17 -07:00
librustc_mir_build Add a convenience function for testing whether a static is #[thread_local] 2020-04-30 17:06:11 +02:00
librustc_parse Rollup merge of #71433 - antoyo:error/missing-right-operand, r=Dylan-DPC 2020-04-30 20:15:22 +02:00
librustc_passes Rollup merge of #71205 - NeoRaider:check_attr, r=jonas-schievink 2020-04-30 14:07:52 +02:00
librustc_plugin_impl Remove support for self-opening 2020-04-25 10:55:20 -04:00
librustc_privacy Accept LocalDefId as key for check_mod_privacy query 2020-04-27 23:55:41 +01:00
librustc_query_system Auto merge of #71528 - alexcrichton:no-more-bitcode, r=nnethercote 2020-04-29 23:47:27 +00:00
librustc_resolve Rollup merge of #71438 - estebank:resolve-sugg-tiny, r=petrochenkov 2020-04-27 03:26:17 +02:00
librustc_save_analysis Accept LocalDefId as keyt for names_imported_by_glob_use 2020-04-27 21:50:17 +01:00
librustc_session Remove Session::no_landing_pads() 2020-04-29 01:05:56 +01:00
librustc_span Rollup merge of #71263 - shlevy:FileLoader-remove-abs_path, r=Xanewok 2020-04-27 03:26:11 +02:00
librustc_symbol_mangling Modify as_local_hir_id to return a bare HirId 2020-04-23 23:14:07 +01:00
librustc_target rustc_target: Stop using "string typing" for TLS models 2020-04-26 23:36:00 +03:00
librustc_trait_selection Rollup merge of #71449 - ecstatic-morse:free-region-cleanup, r=Mark-Simulacrum 2020-04-30 20:15:24 +02:00
librustc_traits Remove Option from the return type of def_kind. 2020-04-24 13:44:07 -05:00
librustc_ty Modify as_local_hir_id to return a bare HirId 2020-04-23 23:14:07 +01:00
librustc_typeck Rollup merge of #71540 - ldm0:ref2ptr, r=oli-obk 2020-04-30 14:07:53 +02:00
librustdoc Rollup merge of #70043 - mark-i-m:def-kind-more, r=eddyb 2020-04-26 01:00:13 +02:00
libserialize Bump rustfmt to most recently shipped 2020-04-25 09:25:33 -04:00
libstd Rollup merge of #71296 - ChiefMilesEdgeworth:fix_doc_wording, r=Dylan-DPC 2020-04-29 12:23:22 +02:00
libterm Replace filter_map().next() calls with find_map() 2020-04-24 20:03:45 -07:00
libtest Add illumos triple 2020-04-14 20:36:07 +00:00
libunwind Add illumos triple 2020-04-14 20:36:07 +00:00
llvm-project@3ba91917e5 Store LLVM bitcode in object files, not compressed 2020-04-29 11:57:26 -07:00
rtstartup
rustc
rustllvm Auto merge of #71528 - alexcrichton:no-more-bitcode, r=nnethercote 2020-04-29 23:47:27 +00:00
stdarch@d10eefc622 Update stdarch submodule 2020-04-24 22:15:12 +01:00
test Rollup merge of #71688 - ecstatic-morse:const-downcast, r=oli-obk 2020-04-30 15:23:17 -07:00
tools Auto merge of #71687 - RalfJung:miri, r=RalfJung 2020-04-30 03:48:47 +00: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.