rust/compiler
Matthias Krüger 0e9c4fbf23
Rollup merge of #139502 - yaahc:still-mutable-ice, r=bjorn3
fix "still mutable" ice while metrics are enabled

Resolves "still mutable" ICE discovered by `@matthiaskrgr` here: [#t-docs-rs > metrics intitiative @ 💬](510490790)

This was caused by invoking `crate_hash` before the `definitions` struct was frozen here: e643f59f6d/compiler/rustc_interface/src/passes.rs (L951)

resolved by moving metrics dumping to occur after `analysis` freezes the definitions

I'm guessing we didn't discover this in CI because the problem only occurs when you try to calculate the crash hash with incremental compilation enabled when it tries to freeze the definitions here: e643f59f6d/compiler/rustc_middle/src/hir/map.rs (L1172)

my understanding is that this causes us to freeze the definitions too early in compilation, then we subsequently try to mutate them, likely during `analysis`, and this causes the ICE.

r? `@bjorn3`
2025-04-10 17:27:13 +02:00
..
rustc
rustc_abi Remove redundant words 2025-04-09 18:46:50 +08:00
rustc_arena
rustc_ast Rollup merge of #139465 - EnzymeAD:autodiff-sret, r=oli-obk 2025-04-07 22:29:21 +10:00
rustc_ast_ir
rustc_ast_lowering Rollup merge of #139455 - Skgland:remove_rust-intrinsic_ABI, r=oli-obk 2025-04-07 22:29:20 +10:00
rustc_ast_passes Rollup merge of #139035 - nnethercote:PatKind-Missing, r=oli-obk 2025-04-07 22:29:17 +10:00
rustc_ast_pretty Rollup merge of #139112 - m-ou-se:super-let, r=lcnr 2025-04-07 22:29:18 +10:00
rustc_attr_data_structures
rustc_attr_parsing Avoid kw::Empty when dealing with rustc_allowed_through_unstable_modules. 2025-03-25 16:48:03 +11:00
rustc_baked_icu_data
rustc_borrowck Auto merge of #139536 - matthiaskrgr:rollup-j6goald, r=matthiaskrgr 2025-04-08 22:51:10 +00:00
rustc_builtin_macros emit a better error message for using the macro incorrectly 2025-04-08 21:54:34 -04:00
rustc_codegen_cranelift update docs 2025-04-06 21:41:47 +02:00
rustc_codegen_gcc Rollup merge of #138949 - madsmtm:rename-to-darwin, r=WaffleLapkin 2025-04-04 08:02:05 +02:00
rustc_codegen_llvm Rollup merge of #139465 - EnzymeAD:autodiff-sret, r=oli-obk 2025-04-07 22:29:21 +10:00
rustc_codegen_ssa Auto merge of #139088 - spastorino:ergonomic-ref-counting-2, r=nikomatsakis 2025-04-10 09:08:23 +00:00
rustc_const_eval Make LevelAndSource a struct 2025-04-03 09:17:55 +00:00
rustc_data_structures Rollup merge of #139502 - yaahc:still-mutable-ice, r=bjorn3 2025-04-10 17:27:13 +02:00
rustc_driver
rustc_driver_impl fix "still mutable" ice while metrics are enabled 2025-04-08 15:00:37 -07:00
rustc_error_codes Remove some dead or leftover code related to rustc-intrinsic abi removal 2025-04-09 07:57:13 +00:00
rustc_error_messages update cfgs 2025-04-09 12:29:59 +01:00
rustc_errors Rollup merge of #139468 - compiler-errors:has_stashed_diagnostic, r=oli-obk 2025-04-09 14:52:38 +02:00
rustc_expand Implement super let. 2025-04-04 09:44:19 +02:00
rustc_feature replace version placeholder 2025-04-09 12:29:59 +01:00
rustc_fluent_macro
rustc_fs_util
rustc_graphviz
rustc_hashes
rustc_hir Rollup merge of #139112 - m-ou-se:super-let, r=lcnr 2025-04-07 22:29:18 +10:00
rustc_hir_analysis Rollup merge of #139530 - oli-obk:rustc-intrinsic-cleanup, r=RalfJung 2025-04-10 11:10:16 +02:00
rustc_hir_pretty Rollup merge of #139112 - m-ou-se:super-let, r=lcnr 2025-04-07 22:29:18 +10:00
rustc_hir_typeck Rollup merge of #139449 - Nadrieril:peel-recursive, r=lcnr 2025-04-10 11:10:14 +02:00
rustc_incremental
rustc_index
rustc_index_macros
rustc_infer clean code: remove Deref<Target=RegionKind> impl for Region and use .kind() 2025-04-08 10:51:41 +08:00
rustc_interface borrowck typeck children together with their parent 2025-04-08 00:34:40 +02:00
rustc_lexer Replace rustc_lexer/unescape with rustc-literal-escaper crate 2025-04-04 14:44:45 +02:00
rustc_lint Auto merge of #139552 - matthiaskrgr:rollup-b194mk8, r=matthiaskrgr 2025-04-09 05:39:18 +00:00
rustc_lint_defs impl !PartialOrd for HirId 2025-04-03 09:22:21 +00:00
rustc_llvm Update the minimum external LLVM to 19 2025-04-05 11:44:38 -07:00
rustc_log
rustc_macros
rustc_metadata Restrict some queries by def-kind more 2025-04-07 18:10:28 +00:00
rustc_middle Rollup merge of #139502 - yaahc:still-mutable-ice, r=bjorn3 2025-04-10 17:27:13 +02:00
rustc_mir_build Make use generated TerminatorKind::Call have call_source Use 2025-04-07 16:53:11 -03:00
rustc_mir_dataflow
rustc_mir_transform Auto merge of #139327 - cjgillot:gvn-place, r=oli-obk 2025-04-09 08:50:33 +00:00
rustc_monomorphize for large assignment lint, use the correct span for checking for duplicate lints 2025-04-08 21:22:20 +02:00
rustc_next_trait_solver Auto merge of #139000 - compiler-errors:rigid-missing-item, r=lcnr 2025-04-10 04:03:59 +00:00
rustc_parse Avoid an empty trait name in impl blocks. 2025-04-09 15:01:14 +10:00
rustc_parse_format Update rustc-literal-escaper version to 0.0.2 2025-04-04 22:26:10 +02:00
rustc_passes Rollup merge of #139455 - Skgland:remove_rust-intrinsic_ABI, r=oli-obk 2025-04-07 22:29:20 +10:00
rustc_pattern_analysis Fix stack overflow in exhaustiveness due to recursive HIR opaque type values 2025-04-07 22:41:48 +00:00
rustc_privacy privacy: Visit types and traits in impls in type privacy lints 2025-03-25 12:40:02 +03:00
rustc_query_impl Add a dep kind for use of the anon node with zero dependencies 2025-04-02 07:35:05 +02:00
rustc_query_system Add a dep kind for use of the anon node with zero dependencies 2025-04-02 07:35:05 +02:00
rustc_resolve Avoid an empty trait name in impl blocks. 2025-04-09 15:01:14 +10:00
rustc_sanitizers Encode synthetic by-move coroutine body with a different DefPathData 2025-03-30 22:53:21 +00:00
rustc_serialize
rustc_session Auto merge of #138947 - madsmtm:refactor-apple-versions, r=Noratrieb 2025-04-06 10:16:28 +00:00
rustc_smir remove compiler support for extern "rust-intrinsic" blocks 2025-04-06 21:32:58 +02:00
rustc_span Auto merge of #139281 - petrochenkov:ctxtdecod6, r=wesleywiser 2025-04-05 06:18:04 +00:00
rustc_symbol_mangling clean code: remove Deref<Target=RegionKind> impl for Region and use .kind() 2025-04-08 10:51:41 +08:00
rustc_target remove compiler support for extern "rust-intrinsic" blocks 2025-04-06 21:32:58 +02:00
rustc_trait_selection Auto merge of #139000 - compiler-errors:rigid-missing-item, r=lcnr 2025-04-10 04:03:59 +00:00
rustc_traits
rustc_transmute
rustc_ty_utils Use a query rather than recomputing the tail repeatedly 2025-04-09 20:26:58 +00:00
rustc_type_ir Auto merge of #139000 - compiler-errors:rigid-missing-item, r=lcnr 2025-04-10 04:03:59 +00:00
rustc_type_ir_macros
stable_mir let rustc_smir host stable_mir for refactoring 2025-04-05 18:23:07 +08:00