rust/tests/ui/traits
bors 8d490e33ad Auto merge of #123471 - compiler-errors:match_projection_projections, r=oli-obk
Check def id before calling `match_projection_projections`

When I "inlined" `assemble_candidates_from_predicates` into `for_each_item_bound` in #120584, I forgot to copy over the check that actually made sure the def id of the candidate was equal to the def id of the obligation. This means that we normalize goal a bit too often even if it's not productive to do so.

This PR adds that def id check back.
Fixes #123448
2024-04-06 06:36:42 +00:00
..
alias Update (doc) comments 2024-03-22 06:31:51 +01:00
associated_type_bound Bless test fallout (duplicate diagnostics) 2024-03-20 13:00:34 -04:00
auxiliary
bound Use TraitRef::to_string sorting in favor of TraitRef::ord, as the latter compares DefIds which we need to avoid 2024-03-27 14:02:15 +00:00
default-method
inductive-overflow
inheritance
negative-bounds Stabilize associated type bounds 2024-03-08 20:56:25 +00:00
negative-impls Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
next-solver Uniquify ReError on input mode in canonicalizer 2024-03-22 16:35:50 -04:00
non_lifetime_binders Consolidate WF for aliases 2024-03-14 12:17:00 -04:00
object regression test for #103626 2024-03-23 17:48:57 +01:00
reservation-impl
solver-cycles
suggest-dereferences
trait-upcasting Switch upcast projections to allowing opaque types and add a test showing it works. 2024-04-04 14:25:50 +00:00
vtable
wf-object
alignment-gep-tup-like-1.rs
anon_trait_static_method_exe.rs
anon-static-method.rs
as-struct-constructor.rs
as-struct-constructor.stderr
assignability-trait.rs
assoc-type-in-superbad.rs
assoc-type-in-superbad.stderr
assoc-type-in-supertrait.rs
astconv-cycle-between-and-type.rs
augmented-assignments-trait.rs Detect unused struct impls pub trait 2024-03-10 23:30:53 +08:00
bad-method-typaram-kind.rs
bad-method-typaram-kind.stderr
bad-sized.rs
bad-sized.stderr
bug-7183-generics.rs
bug-7295.rs
cache-issue-18209.rs
cache-reached-depth-ice.rs
cache-reached-depth-ice.stderr
coercion-generic-bad.rs
coercion-generic-bad.stderr
coercion-generic-regions.rs
coercion-generic-regions.stderr
coercion-generic.rs
coercion.rs
composition-trivial.rs
conditional-dispatch.rs
conditional-model-fn.rs
conservative_impl_trait.rs
copy-guessing.rs
copy-guessing.stderr
copy-impl-cannot-normalize.rs
copy-impl-cannot-normalize.stderr
copy-is-not-modulo-regions.not_static.stderr
copy-is-not-modulo-regions.rs
copy-requires-self-wf.rs
cycle-cache-err-60010.rs
cycle-cache-err-60010.stderr
cycle-generic-bound.rs
cycle-type-trait.rs
deny-builtin-object-impl.current.stderr Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
deny-builtin-object-impl.next.stderr Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
deny-builtin-object-impl.rs Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
do-not-mention-type-params-by-name-in-suggestion-issue-96292.rs
do-not-mention-type-params-by-name-in-suggestion-issue-96292.stderr
dont-autoderef-ty-with-escaping-var.rs
dont-autoderef-ty-with-escaping-var.stderr
dont-match-error-ty-with-calller-supplied-obligation-issue-121941.rs Don't Create ParamCandidate When Obligation Contains Errors 2024-03-12 15:27:08 -04:00
dont-match-error-ty-with-calller-supplied-obligation-issue-121941.stderr Don't Create ParamCandidate When Obligation Contains Errors 2024-03-12 15:27:08 -04:00
duplicate-methods.rs
duplicate-methods.stderr
dyn-trait.rs
early-vtbl-resolution.rs
elaborate-type-region.rs
false-ambiguity-where-clause-builtin-bound.rs
fmt-pointer-trait.rs
fn-trait-cast-diagnostic.rs
fn-trait-cast-diagnostic.stderr
generic.rs
ice-trait-with-default-method-but-no-impl-broken-mir-109869-1.rs add tests for ICE: 'broken MIR: bad assignment: NoSolution' on trait with default method and no impls 2024-03-24 10:57:20 +01:00
ice-trait-with-default-method-but-no-impl-broken-mir-109869-1.stderr add tests for ICE: 'broken MIR: bad assignment: NoSolution' on trait with default method and no impls 2024-03-24 10:57:20 +01:00
ice-trait-with-default-method-but-no-impl-broken-mir-109869-2.rs add tests for ICE: 'broken MIR: bad assignment: NoSolution' on trait with default method and no impls 2024-03-24 10:57:20 +01:00
ice-trait-with-default-method-but-no-impl-broken-mir-109869-2.stderr add tests for ICE: 'broken MIR: bad assignment: NoSolution' on trait with default method and no impls 2024-03-24 10:57:20 +01:00
ice-trait-with-default-method-but-no-impl-broken-mir-109869-trivial-bounds.rs add tests for ICE: 'broken MIR: bad assignment: NoSolution' on trait with default method and no impls 2024-03-24 10:57:20 +01:00
ice-trait-with-default-method-but-no-impl-broken-mir-109869-trivial-bounds.stderr add tests for ICE: 'broken MIR: bad assignment: NoSolution' on trait with default method and no impls 2024-03-24 10:57:20 +01:00
ice-with-dyn-pointee-errors.rs
ice-with-dyn-pointee-errors.stderr
ice-with-dyn-pointee.rs
ignore-err-impls.rs
ignore-err-impls.stderr
impl_trait_as_trait_return_position.rs
impl-1.rs
impl-1.stderr
impl-2.rs
impl-bounds-checking.rs
impl-bounds-checking.stderr
impl-can-not-have-untraitful-items.rs
impl-can-not-have-untraitful-items.stderr
impl-different-num-params.rs
impl-different-num-params.stderr
impl-evaluation-order.rs
impl-for-module.rs
impl-for-module.stderr
impl-implicit-trait.rs
impl-inherent-prefer-over-trait.rs
impl-inherent-prefer-over-trait.stderr
impl-method-mismatch.rs
impl-method-mismatch.stderr
impl-object-overlap-issue-23853.rs
impl-object-overlap-issue-23853.stderr
impl-of-supertrait-has-wrong-lifetime-parameters.rs
impl-of-supertrait-has-wrong-lifetime-parameters.stderr Stop sorting via DefIds in region resolution 2024-03-21 16:36:17 +00:00
impl.rs
impl.stderr
infer-from-object-issue-26952.rs
inherent-method-order.rs
issue-3683.rs
issue-3973.rs
issue-3973.stderr
issue-3979-generics.rs
issue-4107.rs
issue-5008-borrowed-traitobject-method-call.rs
issue-6128.rs
issue-6128.stderr
issue-6334.rs
issue-7013.rs
issue-7013.stderr
issue-8153.rs
issue-8153.stderr
issue-9394-inherited-calls.rs
issue-15155.rs
issue-18400.rs
issue-18400.stderr
issue-18412.rs
issue-20692.rs
issue-20692.stderr
issue-21837.rs
issue-21837.stderr
issue-22019.rs
issue-22110.rs
issue-22384.rs
issue-22384.stderr
issue-22655.rs
issue-23003-overflow.rs
issue-23003.rs
issue-23825.rs
issue-24010.rs Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
issue-26339.rs
issue-28576.rs
issue-28576.stderr
issue-32963.rs
issue-32963.stderr
issue-33096.rs
issue-33140-hack-boundaries.rs
issue-33140-hack-boundaries.stderr
issue-33140.rs
issue-33140.stderr
issue-33187.rs Detect unused struct impls pub trait 2024-03-10 23:30:53 +08:00
issue-35869.rs
issue-35869.stderr
issue-38033.rs
issue-38033.stderr
issue-38404.rs
issue-38404.stderr
issue-38604.rs
issue-38604.stderr
issue-40085.rs
issue-43132.rs
issue-43784-supertrait.rs
issue-43784-supertrait.stderr
issue-50480.rs
issue-50480.stderr
issue-52893.rs
issue-52893.stderr
issue-56202.rs
issue-56488.rs
issue-58344.rs
issue-59029-1.rs
issue-59029-1.stderr
issue-59029-2.rs
issue-65284-suggest-generic-trait-bound.rs
issue-65284-suggest-generic-trait-bound.stderr
issue-65673.rs
issue-65673.stderr
issue-66768.rs
issue-68295.rs
issue-68295.stderr
issue-70944.rs
issue-71036.rs
issue-71036.stderr
issue-71136.rs
issue-71136.stderr
issue-72410.rs
issue-72410.stderr
issue-72455.rs
issue-75627.rs
issue-75627.stderr
issue-77982.rs
issue-77982.stderr
issue-78372.rs
issue-78372.stderr
issue-78632.rs
issue-79458.rs
issue-79458.stderr
issue-82830.rs
issue-83538-tainted-cache-after-cycle.rs
issue-83538-tainted-cache-after-cycle.stderr
issue-84399-bad-fresh-caching.rs
issue-85360-eval-obligation-ice.rs
issue-85360-eval-obligation-ice.stderr
issue-85735.rs
issue-85735.stderr
issue-87558.rs
issue-87558.stderr
issue-89119.rs
issue-90195-2.rs
issue-90195.rs
issue-90662-projection-caching.rs
issue-91594.rs
issue-91594.stderr
issue-91949-hangs-on-recursion.rs
issue-91949-hangs-on-recursion.stderr
issue-92292.rs
issue-95311.rs
issue-95898.rs
issue-95898.stderr
issue-96664.rs
issue-96665.rs
issue-97576.rs
issue-97576.stderr
issue-97695-double-trivial-bound.rs
issue-99875.rs
issue-99875.stderr
issue-103563.rs
issue-104322.rs
issue-105231.rs
issue-105231.stderr
issue-106072.rs
issue-106072.stderr
issue-117794.rs
issue-117794.stderr
item-inside-macro.rs
item-privacy.rs
item-privacy.stderr
kindck-owned-contains-1.rs
make-sure-to-filter-projections-by-def-id.rs Check def id before calling match_projection_projections 2024-04-04 16:01:13 -04:00
map-types.rs
map-types.stderr
matching-lifetimes.rs
matching-lifetimes.stderr Stop sorting via DefIds in region resolution 2024-03-21 16:36:17 +00:00
method-argument-mismatch-variance-ice-119867.rs
method-argument-mismatch-variance-ice-119867.stderr
method-on-unbounded-type-param.rs
method-on-unbounded-type-param.stderr Sort a diagnostic by DefPathStr instead of DefId 2024-03-27 14:02:16 +00:00
method-private.rs
method-private.stderr
monad.rs
monomorphized-callees-with-ty-params-3314.rs
multidispatch1.rs
multidispatch2.rs
multidispatch-bad.rs
multidispatch-bad.stderr
multidispatch-conditional-impl-not-considered.rs
multidispatch-conditional-impl-not-considered.stderr
multidispatch-convert-ambig-dest.rs
multidispatch-convert-ambig-dest.stderr
multidispatch-infer-convert-target.rs
multidispatch-infer-convert-target.stderr
mutual-recursion-issue-75860.rs
mutual-recursion-issue-75860.stderr
no_send-struct.rs
no_send-struct.stderr
no-fallback-multiple-impls.rs
no-fallback-multiple-impls.stderr
non-lifetime-via-dyn-builtin.current.stderr Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
non-lifetime-via-dyn-builtin.next.stderr Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
non-lifetime-via-dyn-builtin.rs Ignore tests w/ current/next revisions from compare-mode=next-solver 2024-03-10 21:18:41 -04:00
normalize-conflicting-impls.rs
normalize-conflicting-impls.stderr
normalize-supertrait.rs
not-suggest-non-existing-fully-qualified-path.rs
not-suggest-non-existing-fully-qualified-path.stderr
object-does-not-impl-trait.rs
object-does-not-impl-trait.stderr
object-one-type-two-traits.rs
objects-owned-object-borrowed-method-headerless.rs
on_unimplemented_long_types.rs
on_unimplemented_long_types.stderr
operator-overloading-issue-52025.rs
overlap-not-permitted-for-builtin-trait.rs
overlap-not-permitted-for-builtin-trait.stderr
overlap-permitted-for-marker-traits.rs
param-without-lifetime-constraint.rs
param-without-lifetime-constraint.stderr
parameterized-with-bounds.rs
pointee-deduction.rs
pointee-normalize-equate.rs
pointee-tail-is-generic-errors.rs
pointee-tail-is-generic-errors.stderr
pointee-tail-is-generic.rs Mark some next-solver-behavior tests explicitly with revisions 2024-03-10 23:23:46 -04:00
principal-less-objects.rs
privacy.rs
project-modulo-regions.rs
project-modulo-regions.with_clause.stderr
project-modulo-regions.without_clause.stderr
question-mark-result-err-mismatch.rs
question-mark-result-err-mismatch.stderr Use TraitRef::to_string sorting in favor of TraitRef::ord, as the latter compares DefIds which we need to avoid 2024-03-27 14:02:15 +00:00
region-pointer-simple.rs
resolution-in-overloaded-op.rs
resolution-in-overloaded-op.stderr
safety-fn-body.rs
safety-fn-body.stderr
safety-inherent-impl.rs
safety-inherent-impl.stderr
safety-ok-cc.rs
safety-ok.rs
safety-trait-impl-cc.rs
safety-trait-impl-cc.stderr
safety-trait-impl.rs
safety-trait-impl.stderr
self-without-lifetime-constraint.rs
self-without-lifetime-constraint.stderr
span-bug-issue-121414.rs make type_flags(ReError) & HAS_ERROR 2024-03-20 17:29:58 +00:00
span-bug-issue-121414.stderr make type_flags(ReError) & HAS_ERROR 2024-03-20 17:29:58 +00:00
stack-error-order-dependence-2.rs Add regression tests for 123303 2024-03-31 21:03:59 -04:00
stack-error-order-dependence.rs Add regression tests for 123303 2024-03-31 21:03:59 -04:00
static-method-generic-inference.rs
static-method-generic-inference.stderr
static-method-overwriting.rs
static-outlives-a-where-clause.rs
staticness-mismatch.rs
staticness-mismatch.stderr
subtype-recursion-limit.rs
subtype-recursion-limit.stderr
suggest-fully-qualified-closure.rs Replace closures with _ when suggesting fully qualified path for method call 2024-03-21 00:07:44 +00:00
suggest-fully-qualified-closure.stderr Replace closures with _ when suggesting fully qualified path for method call 2024-03-21 00:07:44 +00:00
suggest-fully-qualified-path-with-adjustment.rs
suggest-fully-qualified-path-with-adjustment.stderr
suggest-fully-qualified-path-without-adjustment.rs
suggest-fully-qualified-path-without-adjustment.stderr
suggest-where-clause.rs
suggest-where-clause.stderr
superdefault-generics.rs
syntax-polarity.rs
syntax-trait-polarity.rs
syntax-trait-polarity.stderr
test-2.rs
test-2.stderr
test.rs
test.stderr
to-str.rs
track-obligations.rs
track-obligations.stderr
trait-object-lifetime-default-note.rs
trait-object-lifetime-default-note.stderr
trait-or-new-type-instead.rs
trait-or-new-type-instead.stderr
trait-selection-ice-84727.rs add test for ICE Where clause Binder(..) was applicable to Obligation(..) but now is not 2024-03-25 20:20:01 +01:00
trait-selection-ice-84727.stderr add test for ICE Where clause Binder(..) was applicable to Obligation(..) but now is not 2024-03-25 20:20:01 +01:00
trivial_impl2.rs
trivial_impl2.stderr
trivial_impl3.rs
trivial_impl3.stderr
trivial_impl4.rs
trivial_impl4.stderr
trivial_impl_sized.rs
trivial_impl_sized.stderr
trivial_impl.rs
trivial_impl.stderr
typeclasses-eq-example-static.rs
typeclasses-eq-example.rs
ufcs-object.rs
unsend-future.rs
unsend-future.stderr
unspecified-self-in-trait-ref.rs
unspecified-self-in-trait-ref.stderr
upcast_soundness_bug.rs
use-before-def.rs
vtable-res-trait-param.rs
vtable-res-trait-param.stderr
well-formed-recursion-limit.rs
well-formed-recursion-limit.stderr
where-clause-vs-impl.rs
with-bounds-default.rs
with-dst.rs
wrong-mul-method-signature.rs
wrong-mul-method-signature.stderr