rust/compiler
bors 9f0e5d963d Auto merge of #141681 - compiler-errors:fast-path-stalled, r=lcnr
Fast path for stalled obligations on self ty

If we see that the `self` type of a goal is an infer var, then don't try to compute the goal at all, since we know that it'll be forced ambiguous.

This is currently only implemented when there are no opaques in the environment. We could extend it to check that the self type is not related to any already defined opaques via subtyping, but I'll leave that as a follow-up.

---

Also stall coerce and subtype predicates if both of their vars are not resolved to concrete types.

---

~~Also, we don't care if the goal is higher-ranked for the sized and copy/clone fast path.~~ pulling this out into another PR.

r? lcnr
2025-06-06 15:20:21 +00:00
..
rustc Revert "Use workspace lints for crates in compiler/ #138084" 2025-03-10 18:12:47 +08:00
rustc_abi canon_abi: make to_erased_extern_abi just a detail in formatting 2025-06-05 10:05:36 +02:00
rustc_arena Introduce Arena::try_alloc_from_iter. 2025-04-19 01:13:18 +00:00
rustc_ast Rollup merge of #142007 - nnethercote:visitor-comments, r=chenyukang 2025-06-04 16:24:12 +02: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 #142012 - oli-obk:no-optional-spans, r=fee1-dead 2025-06-06 00:58:44 +02:00
rustc_ast_passes Add iter macro 2025-06-03 10:52:32 -07:00
rustc_ast_pretty Reorder ast::ItemKind::{Struct,Enum,Union} fields. 2025-05-28 15:48:45 +10:00
rustc_attr_data_structures Make #[cfg(version)] respect RUSTC_OVERRIDE_VERSION_STRING 2025-05-24 23:54:17 +02:00
rustc_attr_parsing Rollup merge of #142058 - xizheyin:rustc-attr-parsing, r=jdonszelmann 2025-06-06 00:58:46 +02: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 #142012 - oli-obk:no-optional-spans, r=fee1-dead 2025-06-06 00:58:44 +02:00
rustc_builtin_macros Rollup merge of #137725 - oli-obk:i-want-to-move-it-move-it, r=compiler-errors,traviscross 2025-06-03 21:53:35 +02:00
rustc_codegen_cranelift Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
rustc_codegen_gcc Rollup merge of #141569 - workingjubilee:canonicalize-abi, r=bjorn3 2025-06-03 21:53:36 +02:00
rustc_codegen_llvm Auto merge of #140872 - bjorn3:elf_use_used_linker, r=nikic 2025-06-05 22:52:17 +00:00
rustc_codegen_ssa Auto merge of #142099 - matthiaskrgr:rollup-r9s3c35, r=matthiaskrgr 2025-06-06 12:19:16 +00:00
rustc_const_eval Rollup merge of #142012 - oli-obk:no-optional-spans, r=fee1-dead 2025-06-06 00:58:44 +02:00
rustc_data_structures handle cfg bootstrap on compiler and miri 2025-05-30 21:03:54 +03:00
rustc_driver Remove recursion_limit increases. 2025-04-02 16:25:27 +11:00
rustc_driver_impl Rollup merge of #141072 - Rynibami:stabilize-const-result-flatten, r=jhpratt 2025-06-01 00:35:50 +02:00
rustc_error_codes doc: Fix inverted meaning in E0783.md 2025-06-05 12:27:08 +02:00
rustc_error_messages bump fluent-* crates 2025-05-27 14:11:14 +03:00
rustc_errors Remove an unnecessary use of Box::into_inner. 2025-05-27 02:06:40 +10:00
rustc_expand Rollup merge of #141430 - fee1-dead-contrib:push-nmzoprvtsvww, r=petrochenkov 2025-05-30 07:01:29 +02:00
rustc_feature Stabilise repr128 2025-05-28 15:14:34 +01:00
rustc_fluent_macro bump fluent-* crates 2025-05-27 14:11:14 +03: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 Auto merge of #138677 - shepmaster:consistent-elided-lifetime-syntax, r=traviscross,jieyouxu 2025-06-05 19:49:30 +00:00
rustc_hir_analysis Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
rustc_hir_pretty Reorder hir fn stuff. 2025-05-30 02:28:35 +10:00
rustc_hir_typeck Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +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 index: add method for checking range on DenseBitSet 2025-06-04 00:47:12 +02: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 stalled obligations on self ty 2025-06-02 19:23:20 +00:00
rustc_interface Rollup merge of #141943 - nnethercote:rm-pre-expansion-ast-stats, r=compiler-errors 2025-06-03 21:53:38 +02:00
rustc_lexer Fix parsing of frontmatters with inner hyphens 2025-06-04 15:51:36 +00:00
rustc_lint Rollup merge of #142012 - oli-obk:no-optional-spans, r=fee1-dead 2025-06-06 00:58:44 +02:00
rustc_lint_defs Auto merge of #138677 - shepmaster:consistent-elided-lifetime-syntax, r=traviscross,jieyouxu 2025-06-05 19:49:30 +00:00
rustc_llvm rustc_llvm: add Windows system libs only when cross-compiling from Windows 2025-05-31 15:47:14 +02: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 Auto merge of #141730 - osiewicz:collect-crate-deps-postorder-use-indexset, r=nnethercote 2025-06-01 07:40:52 +00:00
rustc_middle Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
rustc_mir_build Rollup merge of #142047 - cuviper:s390x-stack, r=oli-obk 2025-06-06 00:58:45 +02:00
rustc_mir_dataflow update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
rustc_mir_transform Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
rustc_monomorphize Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
rustc_next_trait_solver Auto merge of #141731 - compiler-errors:tweak-fast-path-trait, r=lcnr 2025-06-01 10:59:38 +00:00
rustc_parse Ensure stack in Parser::parse_ty 2025-06-04 15:21:30 -07:00
rustc_parse_format Remove duplicate impl of string unescape 2025-05-06 10:00:22 +00:00
rustc_passes Rollup merge of #141741 - nnethercote:overhaul-UsePath, r=petrochenkov 2025-06-03 07:03:43 +02:00
rustc_pattern_analysis Use builin_index instead of hand-rolling it 2025-05-28 10:03:01 +00:00
rustc_privacy Reorder fields in hir::ItemKind variants. 2025-05-30 02:23:20 +10:00
rustc_proc_macro Do not get proc_macro from the sysroot in rustc 2025-05-27 15:49:28 +00: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 Ensure query keys are printed with reduced queries 2025-06-03 20:56:52 +00:00
rustc_resolve Auto merge of #138677 - shepmaster:consistent-elided-lifetime-syntax, r=traviscross,jieyouxu 2025-06-05 19:49:30 +00:00
rustc_sanitizers Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
rustc_serialize Zero the buffer passed from write_with 2025-04-25 07:14:27 +02:00
rustc_session Rollup merge of #141865 - Nadrieril:dont-steal-thir, r=oli-obk 2025-06-02 15:19:19 +02:00
rustc_smir Change tag_field to FieldIdx in Variants::Multiple 2025-06-03 23:42:21 -07:00
rustc_span Rollup merge of #141874 - usamoi:eps, r=tgross35 2025-06-02 15:19:19 +02:00
rustc_symbol_mangling Rename unpack to kind 2025-05-27 11:14:45 +00:00
rustc_target Auto merge of #141309 - RalfJung:x86-simd-abi, r=tgross35,nikic,workingjubilee 2025-06-04 21:05:52 +00:00
rustc_trait_selection Auto merge of #141681 - compiler-errors:fast-path-stalled, r=lcnr 2025-06-06 15:20:21 +00:00
rustc_traits Querify coroutine_hidden_types 2025-05-20 11:50:25 +00:00
rustc_transmute Change tag_field to FieldIdx in Variants::Multiple 2025-06-03 23:42:21 -07:00
rustc_ty_utils Replace some Option<Span> with Span and use DUMMY_SP instead of None 2025-06-05 14:14:59 +00:00
rustc_type_ir Rework collect_and_apply to not rely on size hint for optimization 2025-06-03 17:29:08 +00: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