rust/compiler
bors 269d5b56bc Auto merge of #144841 - cjgillot:typeck-no-attrs, r=davidtwco
Access less HIR attributes from typeck

Typeck relies on attributes to modify its own behaviour. This is a problem, as this means that `typeck(some function)` may depend on the span and doc-comments of many other functions.

This PR attempts to reduce such accesses to attributes. This yields to a sizeable perf improvement: https://github.com/rust-lang/rust/pull/144841#issuecomment-3153339771

Fixes https://github.com/rust-lang/rust/issues/124352
2025-08-27 01:11:24 +00: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 print raw lifetime idents with r# 2025-08-22 12:58:37 +08:00
rustc_ast_ir Tidy up Cargo.toml files. 2025-07-31 19:58:04 +10:00
rustc_ast_lowering Add an experimental unsafe(force_target_feature) attribute. 2025-08-22 01:26:26 +02:00
rustc_ast_passes Rollup merge of #145747 - joshtriplett:builtin-diag-dyn, r=jdonszelmann 2025-08-22 22:00:59 -04:00
rustc_ast_pretty print raw lifetime idents with r# 2025-08-22 12:58:37 +08:00
rustc_attr_parsing Rollup merge of #145792 - scrabsha:push-umpytyxunpxq, r=jdonszelmann 2025-08-26 23:25:02 +02:00
rustc_baked_icu_data
rustc_borrowck Auto merge of #145711 - lcnr:non-defining-uses-hir-typeck, r=BoxyUwU 2025-08-25 22:56:37 +00:00
rustc_builtin_macros Rollup merge of #145747 - joshtriplett:builtin-diag-dyn, r=jdonszelmann 2025-08-22 22:00:59 -04:00
rustc_codegen_cranelift Port the #[linkage] attribute to the new attribute system 2025-08-13 21:01:37 +02:00
rustc_codegen_gcc Fix sync conflict 2025-08-26 17:25:45 +02:00
rustc_codegen_llvm Rollup merge of #145867 - Zalathar:range-attr, r=nikic 2025-08-26 16:34:17 +02:00
rustc_codegen_ssa Rollup merge of #145892 - jdonszelmann:codegen-fn-attrs-foreign-item, r=bjorn3 2025-08-26 23:25:05 +02:00
rustc_const_eval Rollup merge of #144885 - zachs18:ptr_guaranteed_cmp_more, r=RalfJung 2025-08-26 14:19:16 +10:00
rustc_data_structures Uplift rustc_mir_transform::coverage::counters::union_find to rustc_data_structures. 2025-08-22 02:22:51 +00:00
rustc_driver
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 Support lints in early attribute parsing 2025-08-24 09:14:49 +02:00
rustc_expand Warn on macro calls for attributes that had this behaviour previously 2025-08-24 14:29:03 +02:00
rustc_feature Rollup merge of #145726 - aapoalas:reborrow-lang-experiment, r=petrochenkov 2025-08-22 22:00:55 -04: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 Use attribute name in message for "outer attr used as inner attr" errors 2025-08-25 21:31:04 +02:00
rustc_hir_analysis change non-defining use error message 2025-08-25 14:20:18 +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 Auto merge of #144841 - cjgillot:typeck-no-attrs, r=davidtwco 2025-08-27 01:11:24 +00:00
rustc_incremental Auto merge of #139758 - Zoxc:thread-local-graph, r=oli-obk 2025-05-07 12:39:54 +00:00
rustc_index Update documentation. 2025-08-24 22:15:19 +00:00
rustc_index_macros Tidy up Cargo.toml files. 2025-07-31 19:58:04 +10:00
rustc_infer change HIR typeck unification handling approach 2025-08-22 13:39:38 +02:00
rustc_interface Port crate name to the new attribute system 2025-08-24 09:20:57 +02:00
rustc_lexer fix(lexer): Allow '-' in the infostring continue set 2025-08-22 09:26:19 -05:00
rustc_lint Port crate name to the new attribute system 2025-08-24 09:20:57 +02:00
rustc_lint_defs Migrate BuiltinLintDiag::HiddenUnicodeCodepoints to use LintDiagnostic directly 2025-08-22 03:01:35 -07:00
rustc_llvm Assert that LLVM range-attribute values don't exceed 128 bits 2025-08-26 13:07:19 +10: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 Auto merge of #144841 - cjgillot:typeck-no-attrs, r=davidtwco 2025-08-27 01:11:24 +00:00
rustc_mir_build Rollup merge of #145573 - veluca93:unsafe-force-target-feature, r=davidtwco 2025-08-22 22:00:51 -04:00
rustc_mir_dataflow Rollup merge of #145695 - cjgillot:place-elem-map, r=oli-obk,lcnr 2025-08-22 22:00:54 -04:00
rustc_mir_transform add a flag to codegen fn attrs for foreign items 2025-08-26 13:05:51 +02:00
rustc_monomorphize Rollup merge of #144865 - WaffleLapkin:track-tail, r=lqd 2025-08-15 16:16:31 +10:00
rustc_next_trait_solver support non-defining uses in HIR typeck 2025-08-25 14:20:18 +02:00
rustc_parse Remove the lifetime from ExpTokenPair/SeqSep. 2025-08-25 08:02:52 +10:00
rustc_parse_format update to literal-escaper-0.0.5 2025-07-08 10:16:44 +00:00
rustc_passes Rollup merge of #145892 - jdonszelmann:codegen-fn-attrs-foreign-item, r=bjorn3 2025-08-26 23:25:05 +02:00
rustc_pattern_analysis Rollup merge of #145234 - dianne:1-tuple-witnesses, r=jackh726 2025-08-23 22:22:15 +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 Rollup merge of #145747 - joshtriplett:builtin-diag-dyn, r=jdonszelmann 2025-08-22 22:00:59 -04: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 Support lints in early attribute parsing 2025-08-24 09:14:49 +02:00
rustc_span Rollup merge of #145840 - a4lg:riscv-elf-flags-for-internal-objs, r=WaffleLapkin 2025-08-26 23:25:02 +02: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 #145076 - ZhongyaoChen:feature/add-tier3-riscv64a23-target, r=davidtwco 2025-08-26 16:34:10 +02:00
rustc_thread_pool remove deprecated Error::description in impls 2025-08-26 06:36:53 +00:00
rustc_trait_selection Rollup merge of #145481 - mu001999-contrib:fix/closure-sugg, r=SparrowLii 2025-08-26 16:34:11 +02: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 change HIR typeck unification handling approach 2025-08-22 13:39:38 +02:00
rustc_type_ir_macros Split TypeFolder and FallibleTypeFolder 2025-04-15 18:30:35 +00:00