rust/compiler
bors 9cdefd763b Auto merge of #93691 - compiler-errors:mir-tainted-by-errors, r=oli-obk
Implement `tainted_by_errors` in MIR borrowck, use it to skip CTFE

Putting this up for initial review. The issue that I found is when we're evaluating a const, we're doing borrowck, but doing nothing with the fact that borrowck fails.

This implements a `tainted_by_errors` field for MIR borrowck like we have in infcx, so we can use that information to return an `Err` during const eval if our const fails to borrowck.

This PR needs some cleaning up. I should probably just use `Result` in more places, instead of `.expect`ing in the places I am, but I just wanted it to compile so I could see if it worked!

Fixes #93646

r? `@oli-obk`
feel free to reassign
2022-02-12 05:19:33 +00:00
..
rustc remove unused jemallocator crate 2022-01-28 16:56:05 +01:00
rustc_apfloat
rustc_arena Remove unused dep from rustc_arena 2022-02-02 17:37:14 +01:00
rustc_ast Add test for block doc comments horizontal trim 2022-02-07 17:07:53 +01:00
rustc_ast_lowering Fix incorrect register conflict detection in asm! 2022-02-10 18:04:09 +00:00
rustc_ast_passes Auto merge of #93561 - Amanieu:more-unwind-abi, r=nagisa 2022-02-08 03:20:05 +00:00
rustc_ast_pretty Change struct expr pretty printing to match rustfmt style 2022-02-03 10:59:35 -08:00
rustc_attr Ensure that queries only return Copy types. 2022-02-09 20:07:38 +01:00
rustc_borrowck rework borrowck errors so that it's harder to not set tainted 2022-02-11 12:45:51 -08:00
rustc_builtin_macros Remove the alt_std_name option 2022-02-11 20:28:38 +01:00
rustc_codegen_cranelift Unconditionally update symbols 2022-02-10 18:27:18 +01:00
rustc_codegen_gcc Unconditionally update symbols 2022-02-10 18:27:18 +01:00
rustc_codegen_llvm Rollup merge of #93782 - adamgemmell:dev/adagem01/split-pauth, r=Amanieu 2022-02-11 21:48:48 +01:00
rustc_codegen_ssa Rollup merge of #93782 - adamgemmell:dev/adagem01/split-pauth, r=Amanieu 2022-02-11 21:48:48 +01:00
rustc_const_eval use body.tainted_by_error to skip loading MIR 2022-02-11 12:45:51 -08:00
rustc_data_structures Revert "Auto merge of #92007 - oli-obk:lazy_tait2, r=nikomatsakis" 2022-02-11 07:18:06 +00:00
rustc_driver Store rlink data in opaque binary format on disk 2022-02-05 15:17:54 -05:00
rustc_error_codes Rollup merge of #91939 - GKFX:feature-91866, r=cjgillot 2022-02-06 04:13:29 +01:00
rustc_errors add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_expand add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_feature Rollup merge of #93824 - Amanieu:stable_cfg_target_has_atomic, r=davidtwco 2022-02-10 12:10:00 +01:00
rustc_fs_util
rustc_graphviz
rustc_hir Rollup merge of #93910 - rosehuds:master, r=cjgillot 2022-02-11 21:48:52 +01:00
rustc_hir_pretty Rollup merge of #93746 - cjgillot:nodefii, r=nikomatsakis 2022-02-09 14:12:22 +09:00
rustc_incremental add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_index implement lint for suspicious auto trait impls 2022-02-01 09:55:19 +01:00
rustc_infer Auto merge of #93893 - oli-obk:sad_revert, r=oli-obk 2022-02-11 17:39:34 +00:00
rustc_interface Make two functions private 2022-02-11 20:28:38 +01:00
rustc_lexer
rustc_lint Revert "Auto merge of #92007 - oli-obk:lazy_tait2, r=nikomatsakis" 2022-02-11 07:18:06 +00:00
rustc_lint_defs implement lint for suspicious auto trait impls 2022-02-01 09:55:19 +01:00
rustc_llvm Windows: Disable LLVM crash dialog boxes. 2022-01-27 16:53:17 -08:00
rustc_log
rustc_macros
rustc_metadata Ensure that queries only return Copy types. 2022-02-09 20:07:38 +01:00
rustc_middle use body.tainted_by_error to skip loading MIR 2022-02-11 12:45:51 -08:00
rustc_mir_build add tainted_by_errors to mir::Body 2022-02-11 12:45:51 -08:00
rustc_mir_dataflow rustc_mir_dataflow: use iter::once instead of Some().into_iter 2022-02-03 13:52:26 -07:00
rustc_mir_transform add tainted_by_errors to mir::Body 2022-02-11 12:45:51 -08:00
rustc_monomorphize add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_parse clippy::perf fixes 2022-02-03 21:45:51 +01:00
rustc_parse_format
rustc_passes Rollup merge of #91504 - cynecx:used_retain, r=nikic 2022-02-09 23:29:56 +01:00
rustc_plugin_impl
rustc_privacy add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_query_impl Auto merge of #93741 - Mark-Simulacrum:global-job-id, r=cjgillot 2022-02-09 18:54:30 +00:00
rustc_query_system Revert "Auto merge of #92007 - oli-obk:lazy_tait2, r=nikomatsakis" 2022-02-11 07:18:06 +00:00
rustc_resolve Rollup merge of #91607 - FabianWolff:issue-91560-const-span, r=jackh726 2022-02-11 21:48:43 +01:00
rustc_save_analysis Remove further usage of &hir::Map 2022-02-10 13:04:59 +01:00
rustc_serialize Drop json::from_reader 2022-02-05 15:07:10 -05:00
rustc_session Remove the alt_std_name option 2022-02-11 20:28:38 +01:00
rustc_span Rollup merge of #91607 - FabianWolff:issue-91560-const-span, r=jackh726 2022-02-11 21:48:43 +01:00
rustc_symbol_mangling add a rustc::query_stability lint 2022-02-01 10:15:59 +01:00
rustc_target Auto merge of #93854 - matthiaskrgr:rollup-bh2a85j, r=matthiaskrgr 2022-02-10 12:31:51 +00:00
rustc_trait_selection Auto merge of #93893 - oli-obk:sad_revert, r=oli-obk 2022-02-11 17:39:34 +00:00
rustc_traits Revert "Auto merge of #92007 - oli-obk:lazy_tait2, r=nikomatsakis" 2022-02-11 07:18:06 +00:00
rustc_ty_utils remove TyS::same_type 2022-02-01 11:21:26 +01:00
rustc_type_ir Revert "Auto merge of #92007 - oli-obk:lazy_tait2, r=nikomatsakis" 2022-02-11 07:18:06 +00:00
rustc_typeck Rollup merge of #93909 - saschanaz:patch-2, r=petrochenkov 2022-02-11 21:48:51 +01:00