rust/compiler
bors cdd4ff8d81 Auto merge of #120367 - RalfJung:project_downcast_uninhabited, r=oli-obk
interpret: project_downcast: do not ICE for uninhabited variants

Fixes https://github.com/rust-lang/rust/issues/120337

This assertion was already under discussion for a bit; I think the [example](https://github.com/rust-lang/rust/issues/120337#issuecomment-1911076292) `@tmiasko` found is the final nail in the coffin. One could argue maybe MIR building should read the discriminant before projecting, but even then MIR optimizations should be allowed to remove that read, so the downcast should still not ICE. Maybe the downcast should be UB, but in this example UB already arises earlier when a value of type `E` is constructed.

r? `@oli-obk`
2024-01-26 12:50:02 +00:00
..
rustc Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_abi Fix rustc_abi build on stable 2024-01-16 21:15:31 +01:00
rustc_arena Fix Stable trait and its impls to work with the new with_tables 2024-01-19 09:42:51 +00:00
rustc_ast Auto merge of #119968 - clubby789:unused-feature, r=compiler-errors 2024-01-26 03:18:34 +00:00
rustc_ast_lowering Remove unused features 2024-01-25 14:01:33 +00:00
rustc_ast_passes Remove unused features 2024-01-25 14:01:33 +00:00
rustc_ast_pretty Remove unused features 2024-01-25 14:01:33 +00:00
rustc_attr Pack the u128 in LitKind::Int 2024-01-19 20:10:39 -08:00
rustc_baked_icu_data Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_borrowck Remove unused features 2024-01-25 14:01:33 +00:00
rustc_builtin_macros Auto merge of #119968 - clubby789:unused-feature, r=compiler-errors 2024-01-26 03:18:34 +00:00
rustc_codegen_cranelift Auto merge of #116167 - RalfJung:structural-eq, r=lcnr 2024-01-26 00:17:00 +00:00
rustc_codegen_gcc Auto merge of #116167 - RalfJung:structural-eq, r=lcnr 2024-01-26 00:17:00 +00:00
rustc_codegen_llvm Remove unused features 2024-01-25 14:01:33 +00:00
rustc_codegen_ssa Auto merge of #119968 - clubby789:unused-feature, r=compiler-errors 2024-01-26 03:18:34 +00:00
rustc_const_eval add test for GVN issue; cleanup in dataflow_const_prop 2024-01-26 10:40:29 +01:00
rustc_data_structures Remove unused features 2024-01-25 14:01:33 +00:00
rustc_driver Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_driver_impl Remove unused features 2024-01-25 14:01:33 +00:00
rustc_error_codes Stabilize simple offset_of 2024-01-19 20:38:51 +00:00
rustc_error_messages Remove unused features 2024-01-25 14:01:33 +00:00
rustc_errors Remove unused features 2024-01-25 14:01:33 +00:00
rustc_expand Rollup merge of #120204 - azhogin:azhogin/collapse_debuginfo_for_builtin, r=petrochenkov 2024-01-26 06:36:38 +01:00
rustc_feature Add feature gate 2024-01-24 23:52:03 +01:00
rustc_fluent_macro annotate-snippets: update to 0.10 2024-01-07 16:53:32 +03:00
rustc_fs_util Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_graphviz remove unused pub fn 2023-11-23 14:11:02 +03:00
rustc_hir Auto merge of #119968 - clubby789:unused-feature, r=compiler-errors 2024-01-26 03:18:34 +00:00
rustc_hir_analysis Remove unused features 2024-01-25 14:01:33 +00:00
rustc_hir_pretty Add PatKind::Err 2024-01-17 03:14:16 +01:00
rustc_hir_typeck Remove unused features 2024-01-25 14:01:33 +00:00
rustc_incremental Remove unused features 2024-01-25 14:01:33 +00:00
rustc_index Remove unused features 2024-01-25 14:01:33 +00:00
rustc_index_macros Restrict access to the private field of newtype indexes 2024-01-19 15:38:47 +00:00
rustc_infer Remove unused features 2024-01-25 14:01:33 +00:00
rustc_interface Remove unused features 2024-01-25 14:01:33 +00:00
rustc_lexer Rollup merge of #118639 - fmease:deny-features-in-stable-rustc-crates, r=WaffleLapkin 2024-01-22 16:54:56 +01:00
rustc_lint Remove unused features 2024-01-25 14:01:33 +00:00
rustc_lint_defs Rollup merge of #119948 - asquared31415:unsafe_op_in_unsafe_fn_fix, r=TaKO8Ki 2024-01-22 16:13:28 +01:00
rustc_llvm Revert "Auto merge of #113923 - DianQK:restore-no-builtins-lto, r=pnkfelix" 2024-01-12 18:23:04 +08:00
rustc_log rustc_log: provide a way to init logging based on the values, not names, of the env vars 2023-11-11 15:24:33 +01:00
rustc_macros Remove unused features 2024-01-25 14:01:33 +00:00
rustc_metadata Remove unused features 2024-01-25 14:01:33 +00:00
rustc_middle interpret: project_downcast: do not ICE for uninhabited variants 2024-01-26 09:01:56 +01:00
rustc_mir_build Auto merge of #119968 - clubby789:unused-feature, r=compiler-errors 2024-01-26 03:18:34 +00:00
rustc_mir_dataflow Remove unused features 2024-01-25 14:01:33 +00:00
rustc_mir_transform add test for GVN issue; cleanup in dataflow_const_prop 2024-01-26 10:40:29 +01:00
rustc_monomorphize Remove unused features 2024-01-25 14:01:33 +00:00
rustc_next_trait_solver Remove movability from TyKind::Coroutine 2023-12-28 16:35:01 +00:00
rustc_parse Remove unused features 2024-01-25 14:01:33 +00:00
rustc_parse_format Rollup merge of #118639 - fmease:deny-features-in-stable-rustc-crates, r=WaffleLapkin 2024-01-22 16:54:56 +01:00
rustc_passes Remove unused features 2024-01-25 14:01:33 +00:00
rustc_pattern_analysis Rollup merge of #118803 - Nadrieril:min-exhaustive-patterns, r=compiler-errors 2024-01-26 06:36:36 +01:00
rustc_privacy Remove unused features 2024-01-25 14:01:33 +00:00
rustc_query_impl Remove unused features 2024-01-25 14:01:33 +00:00
rustc_query_system Tweak error counting. 2024-01-22 10:14:01 +11:00
rustc_resolve Rollup merge of #120322 - compiler-errors:higher-ranked-async-closures, r=oli-obk 2024-01-26 06:36:39 +01:00
rustc_serialize Remove unused features 2024-01-25 14:01:33 +00:00
rustc_session Remove unused features 2024-01-25 14:01:33 +00:00
rustc_smir Do not normalize closure signature when building FnOnce shim 2024-01-22 16:50:30 +00:00
rustc_span Rollup merge of #118803 - Nadrieril:min-exhaustive-patterns, r=compiler-errors 2024-01-26 06:36:36 +01:00
rustc_symbol_mangling Remove unused features 2024-01-25 14:01:33 +00:00
rustc_target Remove unused features 2024-01-25 14:01:33 +00:00
rustc_trait_selection Auto merge of #119968 - clubby789:unused-feature, r=compiler-errors 2024-01-26 03:18:34 +00:00
rustc_traits Remove unused features 2024-01-25 14:01:33 +00:00
rustc_transmute Remove unused features 2024-01-25 14:01:33 +00:00
rustc_ty_utils Auto merge of #119968 - clubby789:unused-feature, r=compiler-errors 2024-01-26 03:18:34 +00:00
rustc_type_ir Restrict access to the private field of newtype indexes 2024-01-19 15:38:47 +00:00
stable_mir Remove unused features 2024-01-25 14:01:33 +00:00