rust/compiler
bors d4f880f8ce Auto merge of #138499 - lcnr:borrowck-typeck_root, r=oli-obk
borrowck typeck children together with their root

This introduces new cycle errors, even with `feature(inline_const_pat)` removed, see the `non-structural-match-types-cycle-err.rs` test.

The new cycle error happens as the layout of `async`-blocks relies on their `optimized_mir`. As that now depends on `mir_borrowck` of its typeck parent, computing the layout of an `async`-block during MIR building, e.g. when evaluating a named `const` pattern. I think there's currently no way to have a named const pattern whose type references an async block while being allowed? cc `@oli-obk` `@RalfJung`

I cannot think of other cases where we currently rely on the MIR of a typeck children while borrowchecking their parent. The crater run came back without any breakage. My work here will prevent any future features which rely on this as we'll get locked into borrowchecking them together as I continue to work on https://github.com/rust-lang/types-team/issues/129, cc `@rust-lang/types.`

r? compiler-errors
2025-04-08 16:01:37 +00:00
..
rustc Revert "Use workspace lints for crates in compiler/ #138084" 2025-03-10 18:12:47 +08:00
rustc_abi remove compiler support for extern "rust-intrinsic" blocks 2025-04-06 21:32:58 +02:00
rustc_arena Remove #![warn(unreachable_pub)] from all compiler/ crates. 2025-03-11 13:14:21 +11:00
rustc_ast Rollup merge of #139465 - EnzymeAD:autodiff-sret, r=oli-obk 2025-04-07 22:29:21 +10:00
rustc_ast_ir Use -Wunused_crate_dependencies for compiler crates. 2025-03-20 08:59:43 +11:00
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 add rustc_macro_edition_2021 2025-03-19 17:37:35 +01:00
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 Add unreachable_pub to RUSTC_LINT_FLAGS for compiler/ crates. 2025-03-11 13:14:21 +11:00
rustc_borrowck add negative impl 2025-04-08 00:34:40 +02:00
rustc_builtin_macros refactor: simplify function-info gathering 2025-04-06 22:08:40 +02: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 Rollup merge of #139098 - scottmcm:assert-impossible-tags, r=WaffleLapkin 2025-04-08 20:55:03 +10:00
rustc_const_eval Make LevelAndSource a struct 2025-04-03 09:17:55 +00:00
rustc_data_structures Invalidate all dereferences for non-local assignments 2025-04-02 19:58:35 +08:00
rustc_driver Revert "Use workspace lints for crates in compiler/ #138084" 2025-03-10 18:12:47 +08:00
rustc_driver_impl Auto merge of #138947 - madsmtm:refactor-apple-versions, r=Noratrieb 2025-04-06 10:16:28 +00:00
rustc_error_codes update/bless tests 2025-04-06 21:41:47 +02:00
rustc_error_messages Rollup merge of #138404 - bjorn3:sysroot_handling_cleanup, r=petrochenkov,jieyouxu 2025-03-13 11:28:35 +01:00
rustc_errors Split ExpectationLintId off Level 2025-04-03 09:17:55 +00:00
rustc_expand Implement super let. 2025-04-04 09:44:19 +02:00
rustc_feature Rollup merge of #139455 - Skgland:remove_rust-intrinsic_ABI, r=oli-obk 2025-04-07 22:29:20 +10:00
rustc_fluent_macro Remove #![warn(unreachable_pub)] from all compiler/ crates. 2025-03-11 13:14:21 +11:00
rustc_fs_util Revert "Use workspace lints for crates in compiler/ #138084" 2025-03-10 18:12:47 +08:00
rustc_graphviz Remove #![warn(unreachable_pub)] from all compiler/ crates. 2025-03-11 13:14:21 +11:00
rustc_hashes Revert "Use workspace lints for crates in compiler/ #138084" 2025-03-10 18:12:47 +08:00
rustc_hir Rollup merge of #139112 - m-ou-se:super-let, r=lcnr 2025-04-07 22:29:18 +10:00
rustc_hir_analysis Auto merge of #138499 - lcnr:borrowck-typeck_root, r=oli-obk 2025-04-08 16:01:37 +00: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 #139024 - compiler-errors:tweak-default-value-err, r=lcnr 2025-04-08 20:55:01 +10:00
rustc_incremental Auto merge of #138629 - Zoxc:graph-anon-hashmap, r=oli-obk 2025-03-24 15:02:09 +00:00
rustc_index Use {Decodable,Encodable}_NoContext in type_ir 2025-03-15 06:34:36 +00:00
rustc_index_macros Add unreachable_pub to RUSTC_LINT_FLAGS for compiler/ crates. 2025-03-11 13:14:21 +11:00
rustc_infer Auto merge of #138785 - lcnr:typing-mode-borrowck, r=compiler-errors,oli-obk 2025-04-04 19:54:42 +00: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 #133781 - cjgillot:shallow-allowed-lints, r=petrochenkov 2025-04-07 21:03:55 +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 Use -Wunused_crate_dependencies for compiler crates. 2025-03-20 08:59:43 +11:00
rustc_macros Move codec module back into middle 2025-03-15 06:42:48 +00:00
rustc_metadata remove compiler support for extern "rust-intrinsic" blocks 2025-04-06 21:32:58 +02:00
rustc_middle Auto merge of #138499 - lcnr:borrowck-typeck_root, r=oli-obk 2025-04-08 16:01:37 +00:00
rustc_mir_build Rollup merge of #139108 - Nadrieril:simplify-expandedconstant, r=oli-obk 2025-04-07 22:29:18 +10:00
rustc_mir_dataflow Auto merge of #138414 - matthiaskrgr:rollup-9ablqdb, r=matthiaskrgr 2025-03-12 17:27:43 +00:00
rustc_mir_transform borrowck typeck children together with their parent 2025-04-08 00:34:40 +02:00
rustc_monomorphize Make missing optimized MIR error more informative 2025-04-01 09:25:12 +00:00
rustc_next_trait_solver Fix ProvenVia for global where clauses 2025-04-05 16:23:25 +00:00
rustc_parse Allow for reparsing failure when reparsing a pasted metavar. 2025-04-08 12:06:42 +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 Rollup merge of #139035 - nnethercote:PatKind-Missing, r=oli-obk 2025-04-07 22:29:17 +10: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 Rollup merge of #139035 - nnethercote:PatKind-Missing, r=oli-obk 2025-04-07 22:29:17 +10:00
rustc_sanitizers Encode synthetic by-move coroutine body with a different DefPathData 2025-03-30 22:53:21 +00:00
rustc_serialize Convert rustc_serialize integration tests to unit tests. 2025-03-20 08:59:50 +11:00
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 Encode synthetic by-move coroutine body with a different DefPathData 2025-03-30 22:53:21 +00:00
rustc_target remove compiler support for extern "rust-intrinsic" blocks 2025-04-06 21:32:58 +02:00
rustc_trait_selection Fix trait upcasting to dyn type with no principal when there are projections 2025-04-05 19:34:04 +00:00
rustc_traits Rollup merge of #138394 - lcnr:yeet-variant, r=compiler-errors 2025-03-12 10:19:32 -07:00
rustc_transmute Add #[cfg(test)] for Transition in dfa 2025-03-18 07:17:16 +00:00
rustc_ty_utils remove compiler support for extern "rust-intrinsic" blocks 2025-04-06 21:32:58 +02:00
rustc_type_ir Explicitly depend on ena in rustc_type_ir and make the UnifyKey and UnifyValue imports non-nightly 2025-04-06 17:22:18 +00:00
rustc_type_ir_macros Fold visit into ty 2025-03-15 06:34:36 +00:00
stable_mir let rustc_smir host stable_mir for refactoring 2025-04-05 18:23:07 +08:00