rust/tests/ui/impl-trait
Matthias Krüger 63635880f6
Rollup merge of #108583 - compiler-errors:rpitit-default-method-with-nested-rpitits, r=spastorino
Account for binders correctly when adding default RPITIT method assumption

As of #108203, we install extra projection predicates into the param-env of a default trait method when it has return-position `impl Trait` (or is async).

The implementation didn't account for the fact that it's walking into and out of binders, so we just need to shift all the debruijn indices accordingly when constructing the projection predicates.

Fixes #108579

r? types
2023-03-07 19:57:44 +01:00
..
auxiliary
diagnostics
explicit-generic-args-with-impl-trait diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
in-trait Rollup merge of #108583 - compiler-errors:rpitit-default-method-with-nested-rpitits, r=spastorino 2023-03-07 19:57:44 +01:00
issues pluralize stuff 2023-02-22 21:52:26 +00:00
multiple-lifetimes Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
associated-impl-trait-type-generic-trait.rs
associated-impl-trait-type-trivial.rs
associated-impl-trait-type.rs
async_scope_creep.rs
auto-trait-leak2.rs
auto-trait-leak2.stderr
auto-trait-leak-rpass.rs
auto-trait-leak.rs
auto-trait-leak.stderr Don't cause a cycle when formatting query description that references a FnDef 2023-02-02 05:49:07 +00:00
auto-trait.rs
auto-trait.stderr
autoderef.rs
bound-normalization-fail.rs
bound-normalization-fail.stderr Hide more of long types in E0271 2023-01-11 21:40:39 +00:00
bound-normalization-pass.rs Remove save-analysis. 2023-02-16 15:14:45 +11:00
bounds_regression.rs
can-return-unconstrained-closure.rs
closure-calling-parent-fn.rs
closure-in-impl-trait-arg.rs
closure-in-impl-trait.rs
cross-return-site-inference.rs
cross-return-site-inference.stderr
deduce-signature-from-supertrait.rs
deprecated_annotation.rs
divergence.rs
does-not-live-long-enough.rs
does-not-live-long-enough.stderr
dyn-trait-elided-two-inputs-assoc.rs
dyn-trait-elided-two-inputs-param.rs
dyn-trait-elided-two-inputs-ref-assoc.rs
dyn-trait-elided-two-inputs-ref-param.rs
dyn-trait-return-should-be-impl-trait.rs
dyn-trait-return-should-be-impl-trait.stderr Do not mention lifetime names in force trimmed paths 2023-01-30 20:12:21 +00:00
equal-hidden-lifetimes.rs Convert a hard-warning about named static lifetimes into lint "unused_lifetimes" 2023-02-22 09:44:26 +08:00
equality2.rs
equality2.stderr Mention fn coercion rules (needs to be expanded) 2023-01-30 21:51:33 +00:00
equality-rpass.rs
equality-rpass.stderr
equality.rs
equality.stderr
example-calendar.rs
example-st.rs
extra-item.rs
extra-item.stderr
fallback_inference.rs
fallback_inference.stderr
fallback.rs
feature-self-return-type.rs
feature-self-return-type.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
generic-with-implicit-hrtb-without-dyn.edition2015.stderr
generic-with-implicit-hrtb-without-dyn.edition2021.stderr
generic-with-implicit-hrtb-without-dyn.rs
hidden-lifetimes.rs
hidden-lifetimes.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
hidden-type-is-opaque-2.rs
hidden-type-is-opaque-2.stderr
hidden-type-is-opaque.rs
impl_fn_associativity.rs
impl_trait_projections.rs When suggesting writing a fully qualified path probe for appropriate types 2023-01-11 21:30:10 +00:00
impl_trait_projections.stderr When suggesting writing a fully qualified path probe for appropriate types 2023-01-11 21:30:10 +00:00
impl-fn-hrtb-bounds-2.rs
impl-fn-hrtb-bounds-2.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
impl-fn-hrtb-bounds.rs
impl-fn-hrtb-bounds.stderr
impl-fn-parsing-ambiguities.rs
impl-fn-parsing-ambiguities.stderr
impl-fn-predefined-lifetimes.rs
impl-fn-predefined-lifetimes.stderr
impl-generic-mismatch-ab.rs
impl-generic-mismatch-ab.stderr
impl-generic-mismatch.rs
impl-generic-mismatch.stderr
impl-trait-in-macro.rs
impl-trait-in-macro.stderr
impl-trait-plus-priority.rs
impl-trait-plus-priority.stderr
issue-35668.rs
issue-35668.stderr
issue-46959.rs
issue-49556.rs
issue-49579.rs
issue-49685.rs
issue-51185.rs
issue-54966.rs
issue-54966.stderr
issue-55872-1.rs
issue-55872-1.stderr
issue-55872-2.drop_tracking_mir.stderr Bless tests. 2023-01-27 20:10:17 +00:00
issue-55872-2.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-55872-2.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-55872-2.rs Bless tests. 2023-01-27 20:10:17 +00:00
issue-55872-2.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
issue-55872-3.rs
issue-55872-3.stderr
issue-55872.rs
issue-55872.stderr
issue-56445.rs
issue-68532.rs
issue-72911.rs
issue-72911.stderr
issue-86465.rs
issue-86465.stderr
issue-87450.rs
issue-87450.stderr
issue-99073-2.rs
issue-99073-2.stderr
issue-99073.rs
issue-99073.stderr
issue-99642-2.rs
issue-99642.rs
issue-99914.rs
issue-99914.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
issue-100075-2.rs
issue-100075-2.stderr
issue-100075.rs
issue-100075.stderr
issue-100187.rs
issue-102605.rs
issue-102605.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
issue-103181-1.rs
issue-103181-1.stderr
issue-103181-2.rs
issue-103181-2.stderr
issue-103599.rs
issue-103599.stderr
lifetimes2.rs
lifetimes.rs
method-suggestion-no-duplication.rs
method-suggestion-no-duplication.stderr
multiple-lifetimes.rs
must_outlive_least_region_or_bound.rs
must_outlive_least_region_or_bound.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
needs_least_region_or_bound.rs
negative-reasoning.rs
negative-reasoning.stderr
nested_impl_trait.rs
nested_impl_trait.stderr pluralize stuff 2023-02-22 21:52:26 +00:00
nested-return-type2-tait2.rs
nested-return-type2-tait2.stderr Note predicate span on ImplDerivedObligation 2023-01-11 19:46:45 +00:00
nested-return-type2-tait3.rs
nested-return-type2-tait3.stderr Note predicate span on ImplDerivedObligation 2023-01-11 19:46:45 +00:00
nested-return-type2-tait.rs
nested-return-type2-tait.stderr
nested-return-type2.rs revert #107074 2023-02-10 15:24:39 +01:00
nested-return-type2.stderr revert #107074 2023-02-10 15:24:39 +01:00
nested-return-type3-tait2.rs
nested-return-type3-tait2.stderr
nested-return-type3-tait3.rs
nested-return-type3-tait3.stderr
nested-return-type3-tait.rs
nested-return-type3-tait.stderr
nested-return-type3.rs
nested-return-type3.stderr
nested-return-type4.rs
nested-return-type4.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
nested-return-type.rs
nested-rpit-hrtb.rs
nested-rpit-hrtb.stderr
nested-rpit-with-anonymous-lifetimes.rs
nesting.rs
no-method-suggested-traits.rs
no-method-suggested-traits.stderr Tweak use of trimmed paths 2023-01-30 20:12:21 +00:00
no-trait.rs
no-trait.stderr
normalize-tait-in-const.rs Normalize line+col in normalize-tait-in-const test 2023-02-22 17:05:04 +00:00
normalize-tait-in-const.stderr Normalize line+col in normalize-tait-in-const test 2023-02-22 17:05:04 +00:00
object-unsafe-trait-in-return-position-dyn-trait.rs
object-unsafe-trait-in-return-position-dyn-trait.stderr
object-unsafe-trait-in-return-position-impl-trait.rs
object-unsafe-trait-in-return-position-impl-trait.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
point-to-type-err-cause-on-impl-trait-return.rs
point-to-type-err-cause-on-impl-trait-return.stderr
printing-binder.rs
printing-binder.stderr
private_unused.rs
projection-mismatch-in-impl-where-clause.rs
projection-mismatch-in-impl-where-clause.stderr Note predicate span on ImplDerivedObligation 2023-01-11 19:46:45 +00:00
projection.rs
question_mark.rs
recursive-generator.rs Label closure captures/generator locals that make opaque types recursive 2023-01-21 05:49:36 +00:00
recursive-generator.stderr Label closure captures/generator locals that make opaque types recursive 2023-01-21 05:49:36 +00:00
recursive-impl-trait-type-direct.rs
recursive-impl-trait-type-indirect.drop_tracking_mir.stderr drop_tracking_mir: diagnose recursive generator. 2023-03-05 08:29:35 +00:00
recursive-impl-trait-type-indirect.drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-impl-trait-type-indirect.no_drop_tracking.stderr Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-impl-trait-type-indirect.rs Test the 3 generator handling versions for generator/async tests. 2023-01-27 18:58:13 +00:00
recursive-impl-trait-type-through-non-recursive.rs
recursive-impl-trait-type-through-non-recursive.stderr
recursive-type-alias-impl-trait-declaration-too-subtle-2.rs
recursive-type-alias-impl-trait-declaration-too-subtle-2.stderr
recursive-type-alias-impl-trait-declaration-too-subtle.rs
recursive-type-alias-impl-trait-declaration-too-subtle.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
recursive-type-alias-impl-trait-declaration.rs
region-escape-via-bound-contravariant-closure.rs
region-escape-via-bound-contravariant.rs
region-escape-via-bound.rs
region-escape-via-bound.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
return-position-impl-trait-minimal.rs
rpit-assoc-pair-with-lifetime.rs
rpit-not-sized.rs
rpit-not-sized.stderr
static-return-lifetime-infered.rs
static-return-lifetime-infered.stderr Label opaque type for 'captures lifetime' error message 2023-03-03 05:02:34 +00:00
suggest-calling-rpit-closure.rs
suggest-calling-rpit-closure.stderr
trait_resolution.rs
trait_type.rs
trait_type.stderr
two_tait_defining_each_other2.rs
two_tait_defining_each_other2.stderr
two_tait_defining_each_other3.rs
two_tait_defining_each_other3.stderr
two_tait_defining_each_other.rs
two_tait_defining_each_other.stderr
type_parameters_captured.rs
type_parameters_captured.stderr
type-alias-generic-param.rs
type-alias-impl-trait-in-fn-body.rs
type-arg-mismatch-due-to-impl-trait.rs
type-arg-mismatch-due-to-impl-trait.stderr
unactionable_diagnostic.fixed
unactionable_diagnostic.rs
unactionable_diagnostic.stderr
universal_hrtb_anon.rs
universal_hrtb_named.rs
universal_in_adt_in_parameters.rs
universal_in_impl_trait_in_parameters.rs
universal_in_trait_defn_parameters.rs
universal_multiple_bounds.rs
universal_wrong_bounds.rs
universal_wrong_bounds.stderr
universal_wrong_hrtb.rs
universal_wrong_hrtb.stderr
universal-mismatched-type.rs
universal-mismatched-type.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
universal-two-impl-traits.rs
universal-two-impl-traits.stderr
unsafety-checking-cycle.rs
wf-eval-order.rs
where-allowed-2.rs
where-allowed-2.stderr
where-allowed.rs
where-allowed.stderr pluralize stuff 2023-02-22 21:52:26 +00:00
xcrate_simple.rs
xcrate.rs