rust/compiler
Jacob Pratt 62582eb78e
Rollup merge of #145390 - joshtriplett:rustc-diag-value-earlier, r=lcnr
Shorten some dependency chains in the compiler

(I recommend reviewing this commit by commit.)

One of the long dependency chains in the compiler is:
- Many things depend on `rustc_errors`.
- `rustc_errors` depended on many things prior to this PR, including `rustc_target`, `rustc_type_ir`, `rustc_hir`, and `rustc_lint_defs`.
- `rustc_lint_defs` depended on `rustc_hir` prior to this PR.
- `rustc_hir` depends on `rustc_target`.
- `rustc_target` is large and takes a while.

This PR breaks that chain, through a few steps:
- The `IntoDiagArgs` trait, from `rustc_errors`, moves earlier in the dependency chain. This allows `rustc_errors` to stop depending on a pile of crates just to implement `IntoDiagArgs` for their types.
- Split `rustc_hir_id` out of `rustc_hir`, so crates that just need `HirId` and similar don't depend on all of `rust_hir` (and thus `rustc_target`).
- Make `rustc_lint_defs` stop depending on `rustc_hir`.
2025-08-21 01:12:17 -04:00
..
rustc rename stable_mir to rustc_public, and rustc_smir to rustc_public_bridge 2025-07-14 09:25:54 +00:00
rustc_abi Move IntoDiagArg earlier in the dependency chains 2025-08-20 15:01:13 -07:00
rustc_arena Introduce Arena::try_alloc_from_iter. 2025-04-19 01:13:18 +00:00
rustc_ast Auto merge of #145348 - nnethercote:parse_token_tree-speedup-for-uom, r=petrochenkov 2025-08-20 09:01:41 +00:00
rustc_ast_ir Tidy up Cargo.toml files. 2025-07-31 19:58:04 +10:00
rustc_ast_lowering Pass the target type down to parse_attribute_list 2025-08-14 18:11:56 +02:00
rustc_ast_passes Rollup merge of #144907 - ShoyuVanilla:no-const-async, r=fmease 2025-08-15 18:13:28 -04:00
rustc_ast_pretty Extract ast TraitImplHeader 2025-08-11 17:05:36 -05:00
rustc_attr_parsing Auto merge of #145601 - jieyouxu:rollup-t5mbqhc, r=jieyouxu 2025-08-19 23:52:06 +00:00
rustc_baked_icu_data
rustc_borrowck Defer tail call ret ty equality to check_tail_calls 2025-08-19 20:16:19 +00:00
rustc_builtin_macros Auto merge of #145601 - jieyouxu:rollup-t5mbqhc, r=jieyouxu 2025-08-19 23:52:06 +00:00
rustc_codegen_cranelift Port the #[linkage] attribute to the new attribute system 2025-08-13 21:01:37 +02:00
rustc_codegen_gcc Complete functionality and general cleanup 2025-08-14 16:30:15 +00:00
rustc_codegen_llvm Rollup merge of #145297 - adwinwhite:recursive-debuginfo, r=wesleywiser 2025-08-21 01:12:16 -04:00
rustc_codegen_ssa Auto merge of #145601 - jieyouxu:rollup-t5mbqhc, r=jieyouxu 2025-08-19 23:52:06 +00:00
rustc_const_eval Rollup merge of #145623 - compiler-errors:pretty-async-name, r=wesleywiser 2025-08-20 00:46:00 -04:00
rustc_data_structures Allow pretty printing paths with -Zself-profile-events=args 2025-07-25 22:24:21 +02:00
rustc_driver Remove recursion_limit increases. 2025-04-02 16:25:27 +11:00
rustc_driver_impl Tidy up Cargo.toml files. 2025-07-31 19:58:04 +10:00
rustc_error_codes Rollup merge of #144944 - He1pa:E0793, r=compiler-errors 2025-08-15 16:16:32 +10:00
rustc_error_messages Move IntoDiagArg earlier in the dependency chains 2025-08-20 15:01:13 -07:00
rustc_errors Split rustc_hir_id out of rustc_hir 2025-08-20 15:01:13 -07:00
rustc_expand Rollup merge of #139345 - smoelius:into-iter-stability, r=lcnr 2025-08-19 19:42:00 +08:00
rustc_feature Auto merge of #144086 - clubby789:alloc-zeroed, r=nikic 2025-08-20 17:16:34 +00:00
rustc_fluent_macro Remove all unused feature gates from the compiler 2025-06-08 14:50:42 +00:00
rustc_fs_util Retry if creating temp fails with access denied 2025-04-25 11:28:36 +00:00
rustc_graphviz
rustc_hashes
rustc_hir Split rustc_hir_id out of rustc_hir 2025-08-20 15:01:13 -07:00
rustc_hir_analysis make prefetch intrinsics safe 2025-08-20 00:35:42 +02:00
rustc_hir_id rustc_hir_id: Add a comment explaining why the crate exists 2025-08-20 15:04:00 -07:00
rustc_hir_pretty Propagate TraitImplHeader to hir 2025-08-11 17:05:42 -05:00
rustc_hir_typeck Rollup merge of #144804 - WaffleLapkin:reach-for-the-casts, r=compiler-errors 2025-08-19 14:18:20 +10:00
rustc_incremental Auto merge of #139758 - Zoxc:thread-local-graph, r=oli-obk 2025-05-07 12:39:54 +00:00
rustc_index Tidy up Cargo.toml files. 2025-07-31 19:58:04 +10:00
rustc_index_macros Tidy up Cargo.toml files. 2025-07-31 19:58:04 +10:00
rustc_infer nll-relate: improve hr opaque types support 2025-08-18 09:09:42 +02:00
rustc_interface Rollup merge of #140740 - ojeda:indirect-branch-cs-prefix, r=davidtwco 2025-08-19 19:42:01 +08:00
rustc_lexer test(lexer): Add frontmatter unit test 2025-07-10 10:25:29 -05:00
rustc_lint rustc_lint_defs: Eliminate the dependency on rustc_hir for Namespace 2025-08-20 15:04:00 -07:00
rustc_lint_defs rustc_lint_defs: Eliminate the dependency on rustc_hir for Namespace 2025-08-20 15:04:00 -07:00
rustc_llvm Tell LLVM about read-only captures 2025-08-20 19:08:16 +02:00
rustc_log Add documentation for init_logger_with_additional_layer 2025-06-12 12:11:15 +02:00
rustc_macros remove should_render in PrintAttribute derive 2025-08-16 21:41:39 +08:00
rustc_metadata Auto merge of #145600 - jieyouxu:rollup-jw0bpnt, r=jieyouxu 2025-08-19 19:26:10 +00:00
rustc_middle Move IntoDiagArg earlier in the dependency chains 2025-08-20 15:01:13 -07:00
rustc_mir_build Defer tail call ret ty equality to check_tail_calls 2025-08-19 20:16:19 +00:00
rustc_mir_dataflow Eliminate unnecessary dependency from rustc_mir_dataflow to rustc_hir 2025-08-20 15:04:00 -07:00
rustc_mir_transform Auto merge of #145284 - nnethercote:type_name-print-regions, r=lcnr 2025-08-17 10:24:20 +00:00
rustc_monomorphize Rollup merge of #144865 - WaffleLapkin:track-tail, r=lqd 2025-08-15 16:16:31 +10:00
rustc_next_trait_solver Auto merge of #145600 - jieyouxu:rollup-jw0bpnt, r=jieyouxu 2025-08-19 19:26:10 +00:00
rustc_parse Auto merge of #145348 - nnethercote:parse_token_tree-speedup-for-uom, r=petrochenkov 2025-08-20 09:01:41 +00:00
rustc_parse_format update to literal-escaper-0.0.5 2025-07-08 10:16:44 +00:00
rustc_passes Rollup merge of #145500 - JonathanBrouwer:must_use_target, r=jdonszelmann 2025-08-19 19:45:36 +08:00
rustc_pattern_analysis avoid unnecessary type sanity checks 2025-08-14 09:44:22 +02:00
rustc_privacy Propagate TraitImplHeader to hir 2025-08-11 17:05:42 -05:00
rustc_proc_macro Tidy up Cargo.toml files. 2025-07-31 19:58:04 +10:00
rustc_public fix missing parenthesis in pretty discriminant 2025-08-09 01:35:50 +08:00
rustc_public_bridge Remove useless lifetime parameter. 2025-07-23 23:54:37 +00:00
rustc_query_impl Remove unused allow attrs 2025-07-07 12:58:16 +00:00
rustc_query_system remove rustc_attr_data_structures 2025-07-31 14:19:27 +02:00
rustc_resolve rustc_lint_defs: Eliminate the dependency on rustc_hir for Namespace 2025-08-20 15:04:00 -07:00
rustc_sanitizers rename TraitRef::from_method to from_assoc 2025-08-09 14:22:01 +08:00
rustc_serialize use div_ceil instead of manual logic 2025-07-05 10:55:42 +02:00
rustc_session mention lint group in default level lint note 2025-08-19 21:27:10 +02:00
rustc_span Auto merge of #144086 - clubby789:alloc-zeroed, r=nikic 2025-08-20 17:16:34 +00:00
rustc_symbol_mangling Rollup merge of #145429 - bjorn3:codegen_fn_attrs_improvements, r=jdonszelmann 2025-08-19 19:45:31 +08:00
rustc_target Rollup merge of #145390 - joshtriplett:rustc-diag-value-earlier, r=lcnr 2025-08-21 01:12:17 -04:00
rustc_thread_pool Drop rust-version from rustc_thread_pool 2025-08-04 15:03:49 -07:00
rustc_trait_selection Rollup merge of #145537 - zachs18:metasized-negative-bound-fix, r=davidtwco 2025-08-19 19:45:40 +08:00
rustc_traits Eliminate unnecessary dependency from rustc_traits to rustc_hir 2025-08-20 15:04:00 -07:00
rustc_transmute Tidy up Cargo.toml files. 2025-07-31 19:58:04 +10:00
rustc_ty_utils Tell LLVM about read-only captures 2025-08-20 19:08:16 +02:00
rustc_type_ir Move IntoDiagArg earlier in the dependency chains 2025-08-20 15:01:13 -07:00
rustc_type_ir_macros Split TypeFolder and FallibleTypeFolder 2025-04-15 18:30:35 +00:00