File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -131,12 +131,20 @@ impl<I: Interner> ToProgramClauses<I> for OpaqueTyDatum<I> {
131
131
/// where `!T<..>` is the placeholder for the unnormalized type `T<..>`.
132
132
fn to_program_clauses ( & self , builder : & mut ClauseBuilder < ' _ , I > ) {
133
133
let interner = builder. interner ( ) ;
134
+ let substitution = builder. substitution_in_scope ( ) ;
134
135
let alias = AliasTy :: Opaque ( OpaqueTy {
135
136
opaque_ty_id : self . opaque_ty_id ,
136
- substitution : builder . substitution_in_scope ( ) ,
137
+ substitution : substitution . clone ( ) ,
137
138
} ) ;
138
139
139
- let alias_ty = Ty :: new ( interner, alias. clone ( ) ) ;
140
+ let alias_ty = Ty :: new (
141
+ interner,
142
+ ApplicationTy {
143
+ name : TypeName :: OpaqueType ( self . opaque_ty_id ) ,
144
+ substitution,
145
+ }
146
+ . cast ( interner) ,
147
+ ) ;
140
148
141
149
builder. push_binders ( & self . bound , |builder, opaque_ty_bound| {
142
150
// AliasEq(T<..> = HiddenTy) :- Reveal.
You can’t perform that action at this time.
0 commit comments