about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSantiago Pastorino <spastorino@gmail.com>2023-03-13 19:02:28 -0300
committerSantiago Pastorino <spastorino@gmail.com>2023-03-15 16:58:37 -0300
commit11f181083136f1a91feb4061c640d8c753e3c5f0 (patch)
treea1eb34efa78c198b0d36771d76cb0510b0cf50c0
parente41491fe05a6a11a89b7c494ea0d95d3b32a6b0f (diff)
downloadrust-11f181083136f1a91feb4061c640d8c753e3c5f0.tar.gz
rust-11f181083136f1a91feb4061c640d8c753e3c5f0.zip
Feed is_type_alias_impl_trait for RPITITs on the trait side
-rw-r--r--compiler/rustc_middle/src/query/mod.rs1
-rw-r--r--compiler/rustc_ty_utils/src/assoc.rs2
2 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/query/mod.rs b/compiler/rustc_middle/src/query/mod.rs
index 75f05c4af23..690a0b8b04d 100644
--- a/compiler/rustc_middle/src/query/mod.rs
+++ b/compiler/rustc_middle/src/query/mod.rs
@@ -191,6 +191,7 @@ rustc_queries! {
     {
         desc { "determine whether the opaque is a type-alias impl trait" }
         separate_provide_extern
+        feedable
     }
 
     query unsizing_params_for_adt(key: DefId) -> &'tcx rustc_index::bit_set::BitSet<u32>
diff --git a/compiler/rustc_ty_utils/src/assoc.rs b/compiler/rustc_ty_utils/src/assoc.rs
index fae5997e394..68b1086e8e3 100644
--- a/compiler/rustc_ty_utils/src/assoc.rs
+++ b/compiler/rustc_ty_utils/src/assoc.rs
@@ -289,6 +289,8 @@ fn associated_item_for_impl_trait_in_trait(
         InternalSubsts::identity_for_item(tcx, opaque_ty_def_id.to_def_id()),
     )));
 
+    trait_assoc_ty.is_type_alias_impl_trait(false);
+
     // Copy generics_of of the opaque type item but the trait is the parent.
     trait_assoc_ty.generics_of({
         let opaque_ty_generics = tcx.generics_of(opaque_ty_def_id);