rust/compiler/rustc_ty_utils/src
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
..
abi.rs Rename many interner functions. 2023-02-24 07:32:24 +11:00
assoc.rs Auto merge of #108351 - petrochenkov:rmdit, r=cjgillot 2023-03-05 10:37:02 +00:00
common_traits.rs Change InferCtxtBuilder from enter to build 2022-10-07 07:10:40 -05:00
consts.rs Rename many interner functions. 2023-02-24 07:32:24 +11:00
errors.rs errors: generate typed identifiers in each crate 2023-02-22 09:15:53 +00:00
implied_bounds.rs rustc_middle: Remove trait DefIdTree 2023-03-02 23:46:44 +04:00
instance.rs Remove type-traversal trait aliases 2023-02-22 17:04:58 +00:00
layout.rs Rename many interner functions. 2023-02-24 07:32:24 +11:00
layout_sanity_check.rs stricter alignment enforcement for ScalarPair and Vector 2022-11-28 15:09:56 +01:00
lib.rs errors: generate typed identifiers in each crate 2023-02-22 09:15:53 +00:00
needs_drop.rs Rename many interner functions. 2023-02-24 07:32:24 +11:00
representability.rs remove bound_type_of query; make type_of return EarlyBinder; change type_of in metadata 2023-02-16 17:05:56 -07:00
structural_match.rs Move has_structural_eq_impls provider to rustc_ty_utils 2022-12-08 05:16:48 +00:00
ty.rs Shift vars for default RPITIT methods correctly 2023-02-28 21:34:59 +00:00