rust/compiler
Matthias Krüger aeb4c0413c
Rollup merge of #124394 - gurry:123863-ice-unexpected-region, r=lcnr
Fix ICE on invalid const param types

Fixes ICE #123863 which occurs because the const param has a type which is not a `bool`, `char` or an integral type.

The ICEing code path begins here in `typeck_with_fallback`: cb3752d20e/compiler/rustc_hir_typeck/src/lib.rs (L167)

The `fallback` invokes the `type_of` query and that eventually ends up calling `ct_infer` from the lowering code over here:
cb3752d20e/compiler/rustc_hir_analysis/src/hir_ty_lowering/mod.rs (L561) and `ct_infer` ICEs at this location: cb3752d20e/compiler/rustc_hir_analysis/src/collect.rs (L392)

To fix the ICE it I'm triggering a `span_delayed_bug` before we hit `ct_infer` if the type of the const param is not one of the supported types

### Edit
On `@lcnr's` suggestion I've changed the approach to not let `ReStatic` region hit the `bug!` in `ct_infer` instead of triggering a `span_delayed_bug`.
2024-04-27 20:46:08 +02:00
..
rustc
rustc_abi Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01:00
rustc_arena
rustc_ast ast: Visit item components in "natural" order 2024-04-25 22:50:06 +03:00
rustc_ast_ir introduce Mutability::ptr_str 2024-04-10 18:51:09 +02:00
rustc_ast_lowering ast: Generalize item kind visiting 2024-04-25 22:49:58 +03:00
rustc_ast_passes ast: Generalize item kind visiting 2024-04-25 22:49:58 +03:00
rustc_ast_pretty Give a name to each distinct manipulation of pretty-printer FixupContext 2024-04-19 23:49:44 -07:00
rustc_attr Rollup merge of #124324 - nnethercote:minor-ast-cleanups, r=estebank 2024-04-25 06:31:04 +02:00
rustc_baked_icu_data
rustc_borrowck review comment: rename method 2024-04-25 18:26:36 +00:00
rustc_builtin_macros Rollup merge of #124382 - petrochenkov:itemvisit, r=lcnr 2024-04-27 07:55:37 +02:00
rustc_codegen_cranelift debuginfo: Stabilize -Z debug-macros, -Z collapse-macro-debuginfo and #[collapse_debuginfo] 2024-04-25 22:14:47 +03:00
rustc_codegen_gcc Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
rustc_codegen_llvm Auto merge of #121298 - nikic:writable, r=cuviper 2024-04-25 04:31:56 +00:00
rustc_codegen_ssa debuginfo: Stabilize -Z debug-macros, -Z collapse-macro-debuginfo and #[collapse_debuginfo] 2024-04-25 22:14:47 +03:00
rustc_const_eval properly fill a promoted's required_consts 2024-04-23 23:02:54 +02:00
rustc_data_structures Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_driver
rustc_driver_impl Fix pretty hir for anon consts in diagnostics 2024-04-15 18:48:12 -04:00
rustc_error_codes Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
rustc_error_messages
rustc_errors Rollup merge of #124370 - ShE3py:substitution-part-offset, r=fee1-dead 2024-04-27 20:46:07 +02:00
rustc_expand Rollup merge of #124382 - petrochenkov:itemvisit, r=lcnr 2024-04-27 07:55:37 +02:00
rustc_feature debuginfo: Stabilize -Z debug-macros, -Z collapse-macro-debuginfo and #[collapse_debuginfo] 2024-04-25 22:14:47 +03:00
rustc_fluent_macro
rustc_fs_util Stabilize std::path::absolute 2024-04-24 14:35:02 +00:00
rustc_graphviz
rustc_hir review comment: rename method 2024-04-25 18:26:36 +00:00
rustc_hir_analysis Fix ICE on invalid const param types 2024-04-27 09:36:38 +05:30
rustc_hir_pretty Rename BindingAnnotation to BindingMode 2024-04-17 09:34:39 -04:00
rustc_hir_typeck Auto merge of #122385 - lcnr:analyze-obligations-for-infer, r=compiler-errors 2024-04-26 15:37:05 +00:00
rustc_incremental Fix ICE when there is a non-Unicode entry in the incremental crate directory 2024-04-21 11:24:55 +01:00
rustc_index Simplify static_assert_sizes. 2024-04-18 15:36:25 +10:00
rustc_index_macros rustc_index: Add a ZERO constant to index types 2024-04-03 19:06:22 +03:00
rustc_infer Rollup merge of #124218 - Xiretza:subsubdiagnostics, r=davidtwco 2024-04-23 17:25:17 +02:00
rustc_interface debuginfo: Stabilize -Z debug-macros, -Z collapse-macro-debuginfo and #[collapse_debuginfo] 2024-04-25 22:14:47 +03:00
rustc_lexer Improved the compiler code with clippy 2024-04-24 09:41:44 +02:00
rustc_lint ast: Generalize item kind visiting 2024-04-25 22:49:58 +03:00
rustc_lint_defs Rename feature gate 2024-04-15 23:27:21 -04:00
rustc_llvm Rollup merge of #124287 - 41Leahcim:master, r=fmease 2024-04-25 18:57:56 +02:00
rustc_log Construct SourceMap at the same time as SessionGlobals. 2024-04-16 13:02:53 +10:00
rustc_macros Rollup merge of #124287 - 41Leahcim:master, r=fmease 2024-04-25 18:57:56 +02:00
rustc_metadata Error on using yield without also using #[coroutine] on the closure 2024-04-24 08:05:29 +00:00
rustc_middle Auto merge of #122385 - lcnr:analyze-obligations-for-infer, r=compiler-errors 2024-04-26 15:37:05 +00:00
rustc_mir_build Rollup merge of #124218 - Xiretza:subsubdiagnostics, r=davidtwco 2024-04-23 17:25:17 +02:00
rustc_mir_dataflow Add a non-shallow fake borrow 2024-04-20 16:01:35 +02:00
rustc_mir_transform Stabilise inline_const 2024-04-24 13:12:25 +01:00
rustc_monomorphize Use non-exhaustive matches for TyKind 2024-04-17 20:49:53 +03:00
rustc_next_trait_solver Auto merge of #122077 - oli-obk:eager_opaque_checks4, r=lcnr 2024-04-08 23:01:50 +00:00
rustc_parse Auto merge of #104087 - nbdd0121:const, r=scottmcm 2024-04-24 17:23:03 +00:00
rustc_parse_format Simplify static_assert_sizes. 2024-04-18 15:36:25 +10:00
rustc_passes ast: Generalize item kind visiting 2024-04-25 22:49:58 +03:00
rustc_pattern_analysis Pass translation closure to add_to_diag_with() as reference 2024-04-21 07:45:03 +00:00
rustc_privacy Actually create ranged int types in the type system. 2024-04-08 12:02:19 +00:00
rustc_query_impl Stabilize generic NonZero. 2024-04-22 18:48:47 +02:00
rustc_query_system Rollup merge of #124252 - michaelwoerister:better-forbidden-read-ice, r=oli-obk 2024-04-22 20:26:00 +02:00
rustc_resolve Rollup merge of #124382 - petrochenkov:itemvisit, r=lcnr 2024-04-27 07:55:37 +02:00
rustc_sanitizers Update encode.rs 2024-04-14 14:56:41 +02:00
rustc_serialize Stabilise inline_const 2024-04-24 13:12:25 +01:00
rustc_session debuginfo: Stabilize -Z debug-macros, -Z collapse-macro-debuginfo and #[collapse_debuginfo] 2024-04-25 22:14:47 +03:00
rustc_smir Rollup merge of #122598 - Nadrieril:full-derefpats, r=matthewjasper 2024-04-23 17:25:15 +02:00
rustc_span debuginfo: Stabilize -Z debug-macros, -Z collapse-macro-debuginfo and #[collapse_debuginfo] 2024-04-25 22:14:47 +03:00
rustc_symbol_mangling Add simple async drop glue generation 2024-04-16 20:45:07 +03:00
rustc_target Auto merge of #117457 - daxpedda:wasm-nontrapping-fptoint, r=wesleywiser 2024-04-21 06:32:10 +00:00
rustc_trait_selection Auto merge of #122385 - lcnr:analyze-obligations-for-infer, r=compiler-errors 2024-04-26 15:37:05 +00:00
rustc_traits
rustc_transmute ScalarInt: add methods to assert being a (u)int of given size 2024-04-19 13:51:52 +02:00
rustc_ty_utils Don't ICE when codegen_select returns ambiguity in new solver 2024-04-25 11:49:12 -04:00
rustc_type_ir Rollup merge of #124322 - whosehang:master, r=Nilstrieb 2024-04-25 00:19:54 +02:00
stable_mir Rollup merge of #122598 - Nadrieril:full-derefpats, r=matthewjasper 2024-04-23 17:25:15 +02:00