rust/compiler
bors 52bf0cf795 Auto merge of #140553 - BoxyUwU:defer_type_system_ctfe, r=compiler-errors
Defer evaluating type system constants when they use infers or params

Split out of #137972, the parts necessary for associated const equality and min generic const args to make progress and have correct semantics around when CTFE is invoked. According to a [previous perf run](https://perf.rust-lang.org/compare.html?start=93257e2d20809d82d1bc0fcc1942480d1a66d7cd&end=01b4cbf0f47c3f782330db88fa5ba199bba1f8a2&stat=instructions:u) of adding the new `const_arg_kind` query we should expect minor regressions here.

I think this is acceptable as we should be able to remove this query relatively soon once mgca is more complete as we'll then be able to implement GCE in terms of mgca and rip out `GCEConst` at which point it's trivial to determine what kind of anon const we're dealing with (either it has generics and is a repeat expr hack, or it doesnt and is a normal anon const).

This should only affect unstable code as we handle repeat exprs specially and those are the only kinds of type system consts that are allowed to make use of generic parameters.

Fixes #133066
Fixes #133199
Fixes #136894
Fixes #137813

r? compiler-errors
2025-05-23 05:30:45 +00:00
..
rustc Revert "Use workspace lints for crates in compiler/ #138084" 2025-03-10 18:12:47 +08:00
rustc_abi Initial UnsafePinned/UnsafeUnpin impl [Part 1: Libs] 2025-04-13 01:11:04 -04:00
rustc_arena Introduce Arena::try_alloc_from_iter. 2025-04-19 01:13:18 +00:00
rustc_ast introduce common macro for MutVisitor and Visitor to dedup code 2025-05-19 21:21:03 +08:00
rustc_ast_ir Use -Wunused_crate_dependencies for compiler crates. 2025-03-20 08:59:43 +11:00
rustc_ast_lowering Inline and remove lower_* methods. 2025-05-20 14:13:33 +10:00
rustc_ast_passes update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_ast_pretty Initial support for dynamically linked crates 2025-05-04 22:03:15 +03:00
rustc_attr_data_structures update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_attr_parsing collect doc alias as tips during resolution 2025-05-21 00:47:36 +08: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 Rollup merge of #139668 - matthewjasper:upper-bound-fix, r=compiler-errors 2025-05-22 16:02:26 +02:00
rustc_builtin_macros Rollup merge of #140874 - mejrs:rads, r=WaffleLapkin 2025-05-19 13:24:54 +10:00
rustc_codegen_cranelift Rename cfg_match! to cfg_select! 2025-05-20 21:16:23 +00:00
rustc_codegen_gcc Rollup merge of #140874 - mejrs:rads, r=WaffleLapkin 2025-05-19 13:24:54 +10:00
rustc_codegen_llvm Rollup merge of #140847 - Zalathar:unused-local-file, r=SparrowLii 2025-05-19 21:10:42 +10:00
rustc_codegen_ssa make enabling the neon target feature a FCW 2025-05-22 12:19:25 +02:00
rustc_const_eval Rollup merge of #140972 - Stypox:machine-tracing-flag, r=RalfJung 2025-05-20 20:57:26 +02:00
rustc_data_structures Rollup merge of #139668 - matthewjasper:upper-bound-fix, r=compiler-errors 2025-05-22 16:02:26 +02:00
rustc_driver Remove recursion_limit increases. 2025-04-02 16:25:27 +11:00
rustc_driver_impl compiler & tools: bump windows crate to dedupe versions 2025-05-17 15:26:38 +03:00
rustc_error_codes resolve: Support imports of associated types and glob imports from traits 2025-05-02 15:59:38 +03:00
rustc_error_messages update cfgs 2025-04-09 12:29:59 +01:00
rustc_errors compiler & tools: bump windows crate to dedupe versions 2025-05-17 15:26:38 +03:00
rustc_expand Rollup merge of #140874 - mejrs:rads, r=WaffleLapkin 2025-05-19 13:24:54 +10:00
rustc_feature Stabilize avx512_target_feature 2025-05-18 11:12:15 +05:30
rustc_fluent_macro update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_fs_util Retry if creating temp fails with access denied 2025-04-25 11:28:36 +00: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 HIR: explain in comment why ExprKind::If "then" is an Expr 2025-05-15 23:44:23 +02:00
rustc_hir_analysis Auto merge of #140553 - BoxyUwU:defer_type_system_ctfe, r=compiler-errors 2025-05-23 05:30:45 +00:00
rustc_hir_pretty update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_hir_typeck Rollup merge of #140218 - fmease:hirtylo-clean-up-path-low, r=compiler-errors 2025-05-22 16:02:28 +02:00
rustc_incremental Auto merge of #139758 - Zoxc:thread-local-graph, r=oli-obk 2025-05-07 12:39:54 +00:00
rustc_index Add copy_within to IndexSlice 2025-04-15 10:44:28 -04:00
rustc_index_macros In rustc_mir_tranform, iterate over index newtypes instead of ints 2025-04-12 11:53:07 +00:00
rustc_infer Fast path for register_region_obligation 2025-05-17 19:35:05 +00:00
rustc_interface Move -Zcrate-attr injection to just after crate root parsing 2025-05-21 14:32:40 +00:00
rustc_lexer Implement RFC 3503: frontmatters 2025-05-05 23:10:08 +08:00
rustc_lint Rollup merge of #140874 - mejrs:rads, r=WaffleLapkin 2025-05-19 13:24:54 +10:00
rustc_lint_defs make enabling the neon target feature a FCW 2025-05-22 12:19:25 +02:00
rustc_llvm Experimental cygwin support in rustc 2025-05-15 23:34:11 +08:00
rustc_log Allow linking rustc and rustdoc against the same single tracing crate 2025-05-03 10:18:50 -07:00
rustc_macros Allow trailing comma after argument in query definition 2025-05-20 10:22:08 +00:00
rustc_metadata Introduce tcx.anon_const_kind query 2025-05-21 20:20:19 +01:00
rustc_middle Auto merge of #140553 - BoxyUwU:defer_type_system_ctfe, r=compiler-errors 2025-05-23 05:30:45 +00:00
rustc_mir_build Rollup merge of #141357 - dianne:unhardcode-unpretty-thir-tree-body-expr, r=compiler-errors 2025-05-21 22:15:01 +02:00
rustc_mir_dataflow update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_mir_transform use uX::from instead of _ as uX in non - const contexts 2025-05-22 17:08:32 +07:00
rustc_monomorphize Rollup merge of #140874 - mejrs:rads, r=WaffleLapkin 2025-05-19 13:24:54 +10:00
rustc_next_trait_solver Auto merge of #141396 - matthiaskrgr:rollup-feg050g, r=matthiaskrgr 2025-05-22 21:02:18 +00:00
rustc_parse Rollup merge of #141003 - clubby789:ternary-improve, r=compiler-errors 2025-05-16 07:19:41 +02:00
rustc_parse_format Remove duplicate impl of string unescape 2025-05-06 10:00:22 +00:00
rustc_passes typeck: catch continues pointing to blocks 2025-05-20 17:45:16 -07:00
rustc_pattern_analysis Revert "Fix stack overflow in exhaustiveness due to recursive HIR opaque type values" 2025-05-20 10:09:01 +00:00
rustc_privacy Rollup merge of #140874 - mejrs:rads, r=WaffleLapkin 2025-05-19 13:24:54 +10:00
rustc_query_impl Auto merge of #140145 - Zoxc:job-server-proxy, r=SparrowLii 2025-05-01 04:11:52 +00:00
rustc_query_system Handle rustc_query_system cases of rustc::potential_query_instability lint 2025-05-14 08:59:55 +03:00
rustc_resolve Rollup merge of #141267 - dianne:fix-141265, r=oli-obk 2025-05-21 15:38:08 +02:00
rustc_sanitizers update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_serialize Zero the buffer passed from write_with 2025-04-25 07:14:27 +02:00
rustc_session current_dll_path: fix mistake in assertion message 2025-05-19 20:20:54 +02:00
rustc_smir Rename Instance::new to Instance::new_raw and add a note that it is raw 2025-05-05 13:17:35 +00:00
rustc_span Auto merge of #141396 - matthiaskrgr:rollup-feg050g, r=matthiaskrgr 2025-05-22 21:02:18 +00:00
rustc_symbol_mangling update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_target aarch64-softfloat: forbid enabling the neon target feature 2025-05-22 12:19:25 +02:00
rustc_trait_selection Auto merge of #140553 - BoxyUwU:defer_type_system_ctfe, r=compiler-errors 2025-05-23 05:30:45 +00:00
rustc_traits Querify coroutine_hidden_types 2025-05-20 11:50:25 +00:00
rustc_transmute Rollup merge of #140509 - tmiasko:merge-contiguous-ranges, r=jswrenn 2025-05-02 19:37:56 +02:00
rustc_ty_utils Rollup merge of #140926 - azhogin:azhogin/async-drop-coroutine-layout-returns-layout-error, r=oli-obk 2025-05-18 18:44:12 +02:00
rustc_type_ir Rollup merge of #141286 - compiler-errors:querify-coroutine, r=oli-obk 2025-05-22 16:02:31 +02:00
rustc_type_ir_macros Split TypeFolder and FallibleTypeFolder 2025-04-15 18:30:35 +00:00
stable_mir Change rustc_driver dependency on stable_mir crate 2025-04-30 15:39:52 -07:00