rust/compiler
bors 13b5a4e43b Auto merge of #129716 - compiler-errors:closure-debuginfo, r=cjgillot
Don't use `typeck_root_def_id` in codegen for finding closure's root

Generating debuginfo in codegen currently peels off all the closure-specific generics (which presumably is done because they're redundant). This doesn't currently work correctly for the bodies we synthesize for async closures's returned coroutines (#128506), leading to #129702.

Specifically, `typeck_root_def_id` for some `DefKind::SyntheticCoroutineBody` just returns itself (because it loops while `is_typeck_child` is `true`, and that returns `false` for this defkind), which means we don't end up peeling off the coroutine-specific generics, and we end up encountering an otherwise unreachable `CoroutineWitness` type leading to an ICE.

This PR fixes `is_typeck_child` to consider `DefKind::SyntheticCorotuineBody` to be a typeck child, fixing `typeck_root_def_id` and suppressing this debuginfo bug.

Fixes #129702
2024-09-16 10:16:32 +00:00
..
rustc disable size asserts in the compiler when randomizing layouts 2024-08-31 23:56:45 +02:00
rustc_abi compiler: Document AbiAndPrefAlign 2024-09-14 22:45:25 -07:00
rustc_arena Remove unnecessary lifetimes from `Arena`. 2024-09-13 15:33:19 +10:00
rustc_ast Fix anon const def-creation when macros are involved 2024-09-12 13:48:30 -04:00
rustc_ast_ir Add `warn(unreachable_pub)` to several crates. 2024-08-16 08:46:13 +10:00
rustc_ast_lowering Re-enable `ConstArgKind::Path` lowering by default 2024-09-12 13:56:01 -04:00
rustc_ast_passes stabilize `const_extern_fn` 2024-09-14 18:07:06 +02:00
rustc_ast_pretty Add initial support for raw lifetimes 2024-09-06 10:32:48 -04:00
rustc_attr Remove needless returns detected by clippy in the compiler 2024-09-09 13:32:22 +02:00
rustc_baked_icu_data Don't add `warn(unreachable_pub)` to `rustc_baked_icu`. 2024-08-16 08:46:52 +10:00
rustc_borrowck Rollup merge of #130294 - nnethercote:more-lifetimes, r=lcnr 2024-09-14 18:12:13 +02:00
rustc_builtin_macros Rename and reorder lots of lifetimes. 2024-09-13 15:46:20 +10:00
rustc_codegen_cranelift simd_shuffle: require index argument to be a vector 2024-09-14 14:43:24 +02:00
rustc_codegen_gcc simd_shuffle: require index argument to be a vector 2024-09-14 14:43:24 +02:00
rustc_codegen_llvm Rollup merge of #130325 - workingjubilee:plus-minus-zero-redux, r=RalfJung,jieyouxu 2024-09-15 23:51:25 -07:00
rustc_codegen_ssa Rollup merge of #130268 - RalfJung:simd-shuffle-idx-vector, r=compiler-errors 2024-09-14 18:12:10 +02:00
rustc_const_eval const: don't ICE when encountering a mutable ref to immutable memory 2024-09-15 22:53:04 +02:00
rustc_data_structures Add an internal lint that warns when accessing untracked data 2024-09-03 19:14:19 +02:00
rustc_driver Use `tidy` to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_driver_impl Remove unnecessary lifetime from `RunCompiler`. 2024-09-13 15:36:55 +10:00
rustc_error_codes stabilize const_mut_refs 2024-09-15 09:51:32 +02:00
rustc_error_messages Add `warn(unreachable_pub)` to `rustc_error_messages`. 2024-08-27 11:52:08 +10:00
rustc_errors clippy::useless_conversion 2024-09-11 17:52:53 -04:00
rustc_expand Remove unnecessary lifetimes from `rustc_expand`. 2024-09-13 15:33:21 +10:00
rustc_feature also stabilize const_refs_to_cell 2024-09-15 10:20:47 +02:00
rustc_fluent_macro Add `warn(unreachable_pub)` to `rustc_fluent_macro`. 2024-08-27 12:56:54 +10:00
rustc_fs_util Reformat `use` declarations. 2024-07-29 08:26:52 +10:00
rustc_graphviz Add `warn(unreachable_pub)` to `rustc_graphviz`. 2024-08-27 12:58:29 +10:00
rustc_hir disallow `naked_asm!` outside of `#[naked]` functions 2024-09-10 15:19:14 +02:00
rustc_hir_analysis Auto merge of #107251 - dingxiangfei2009:let-chain-rescope, r=jieyouxu 2024-09-13 03:47:30 +00:00
rustc_hir_pretty Add `warn(unreachable_pub)` to `rustc_hir_pretty`. 2024-08-27 13:25:40 +10:00
rustc_hir_typeck Rollup merge of #130294 - nnethercote:more-lifetimes, r=lcnr 2024-09-14 18:12:13 +02:00
rustc_incremental Also fix if in else 2024-09-11 17:24:01 -04:00
rustc_index IntervalSet: add comment about representation 2024-09-08 16:54:28 +02:00
rustc_index_macros Remove usage of specialization from newtype_index! 2024-06-30 16:42:53 +00:00
rustc_infer Rollup merge of #130114 - eduardosm:needless-returns, r=compiler-errors 2024-09-11 15:53:22 -07:00
rustc_interface Rollup merge of #130199 - compiler-errors:by-move, r=cjgillot 2024-09-14 11:53:12 +10:00
rustc_lexer Add initial support for raw lifetimes 2024-09-06 10:32:48 -04:00
rustc_lint Rollup merge of #130293 - gurry:130142-lint-level-issue, r=cjgillot 2024-09-15 16:01:37 +02:00
rustc_lint_defs Rollup merge of #130353 - Zalathar:lint-zero, r=jieyouxu 2024-09-15 12:14:57 +10:00
rustc_llvm Add system libs when cross compiling for Windows 2024-09-15 12:38:55 +00:00
rustc_log Reformat `use` declarations. 2024-07-29 08:26:52 +10:00
rustc_macros Add `warn(unreachable_pub)` to `rustc_metadata`. 2024-08-29 20:13:06 +10:00
rustc_metadata Auto merge of #130036 - weiznich:diagnostic_unstable_tracking, r=compiler-errors 2024-09-08 23:39:00 +00:00
rustc_middle Auto merge of #129716 - compiler-errors:closure-debuginfo, r=cjgillot 2024-09-16 10:16:32 +00:00
rustc_mir_build Rollup merge of #130294 - nnethercote:more-lifetimes, r=lcnr 2024-09-14 18:12:13 +02:00
rustc_mir_dataflow Rollup merge of #130294 - nnethercote:more-lifetimes, r=lcnr 2024-09-14 18:12:13 +02:00
rustc_mir_transform Auto merge of #130357 - fmease:rollup-j3ej4q0, r=fmease 2024-09-14 16:18:12 +00:00
rustc_monomorphize Rollup merge of #130235 - compiler-errors:nested-if, r=michaelwoerister 2024-09-12 20:37:16 +10:00
rustc_next_trait_solver Rollup merge of #130273 - lcnr:overflow-no-constraints, r=compiler-errors 2024-09-12 19:03:43 +02:00
rustc_parse Auto merge of #129753 - folkertdev:stabilize-const-extern-fn, r=RalfJung 2024-09-14 23:47:59 +00:00
rustc_parse_format Add `warn(unreachable_pub)` to `rustc_parse_format`. 2024-08-29 20:13:06 +10:00
rustc_passes Remove `sess` from `CheckLoopVisitor`. 2024-09-13 17:52:44 +10:00
rustc_pattern_analysis Revert warning empty patterns as unreachable 2024-09-11 18:36:45 +02:00
rustc_privacy Rename and reorder lots of lifetimes. 2024-09-13 15:46:20 +10:00
rustc_query_impl Rename and reorder lots of lifetimes. 2024-09-13 15:46:20 +10:00
rustc_query_system chore: Fix typos in 'compiler' (batch 2) 2024-09-02 07:50:22 +02:00
rustc_resolve Auto merge of #129137 - camelid:lazy-def-macro-const, r=BoxyUwU 2024-09-13 01:10:51 +00:00
rustc_sanitizers Also fix if in else 2024-09-11 17:24:01 -04:00
rustc_serialize Auto merge of #129777 - nnethercote:unreachable_pub-4, r=Urgau 2024-09-03 01:27:20 +00:00
rustc_session Rollup merge of #129897 - RalfJung:soft-float-ignored, r=Urgau 2024-09-15 20:55:12 +02:00
rustc_smir Auto merge of #129777 - nnethercote:unreachable_pub-4, r=Urgau 2024-09-03 01:27:20 +00:00
rustc_span Auto merge of #107251 - dingxiangfei2009:let-chain-rescope, r=jieyouxu 2024-09-13 03:47:30 +00:00
rustc_symbol_mangling clippy::useless_conversion 2024-09-11 17:52:53 -04:00
rustc_target Fix target-cpu fpu features on Armv8-R. 2024-09-14 21:39:23 -07:00
rustc_trait_selection Rollup merge of #130294 - nnethercote:more-lifetimes, r=lcnr 2024-09-14 18:12:13 +02:00
rustc_traits Add `warn(unreachable_pub)` to `rustc_traits`. 2024-09-03 08:49:54 +10:00
rustc_transmute Correctly account for niche-optimized tags 2024-09-14 17:52:03 -04:00
rustc_ty_utils Rename and reorder lots of lifetimes. 2024-09-13 15:46:20 +10:00
rustc_type_ir Rollup merge of #130311 - heiseish:issue-70849-fix, r=fmease 2024-09-14 20:22:41 +10:00
rustc_type_ir_macros Reformat `use` declarations. 2024-07-29 08:26:52 +10:00
stable_mir chore: Fix typos in 'compiler' (batch 3) 2024-09-02 07:33:41 +02:00