Skip to content

Commit 3ba7587

Browse files
committed
Use correct lowering for the hidden type
1 parent afabe97 commit 3ba7587

File tree

1 file changed

+15
-23
lines changed

1 file changed

+15
-23
lines changed

chalk-integration/src/lowering.rs

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use chalk_ir::cast::{Cast, Caster};
22
use chalk_ir::interner::ChalkIr;
33
use chalk_ir::{
4-
self, AssocTypeId, BoundVar, ClausePriority, DebruijnIndex, ImplId, OpaqueTyId,
4+
self, AssocTypeId, Binders, BoundVar, ClausePriority, DebruijnIndex, ImplId, OpaqueTyId,
55
QuantifiedWhereClauses, StructId, Substitution, TraitId,
66
};
77
use chalk_parse::ast::*;
@@ -390,28 +390,20 @@ impl LowerProgram for Program {
390390
let binders = empty_env.in_binders(parameter_kinds, |env| {
391391
let hidden_ty = opaque_ty.ty.lower(&env)?;
392392

393-
let hidden_ty_bounds: chalk_ir::Binders<Vec<chalk_ir::Binders<_>>> =
394-
env.in_binders(
395-
Some(chalk_ir::ParameterKind::Ty(intern(FIXME_SELF))),
396-
|env1| {
397-
let interner = env1.interner();
398-
Ok(opaque_ty
399-
.bounds
400-
.lower(&env1)?
401-
.iter()
402-
.flat_map(|qil| {
403-
qil.into_where_clauses(
404-
interner,
405-
chalk_ir::TyData::BoundVar(BoundVar::new(
406-
DebruijnIndex::INNERMOST,
407-
todo!(),
408-
))
409-
.intern(interner),
410-
)
411-
})
412-
.collect())
413-
},
414-
)?;
393+
let hidden_ty_bounds: Binders<Vec<Binders<_>>> = env.in_binders(
394+
Some(chalk_ir::ParameterKind::Ty(intern(FIXME_SELF))),
395+
|env1| {
396+
let interner = env1.interner();
397+
Ok(opaque_ty
398+
.bounds
399+
.lower(&env1)?
400+
.iter()
401+
.flat_map(|qil| {
402+
qil.into_where_clauses(interner, hidden_ty.clone())
403+
})
404+
.collect())
405+
},
406+
)?;
415407

416408
Ok(OpaqueTyBound {
417409
hidden_ty,

0 commit comments

Comments
 (0)