aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/traits/chalk
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_ty/src/traits/chalk')
-rw-r--r--crates/ra_hir_ty/src/traits/chalk/interner.rs1
-rw-r--r--crates/ra_hir_ty/src/traits/chalk/mapping.rs9
2 files changed, 9 insertions, 1 deletions
diff --git a/crates/ra_hir_ty/src/traits/chalk/interner.rs b/crates/ra_hir_ty/src/traits/chalk/interner.rs
index 56aab640c..15426b022 100644
--- a/crates/ra_hir_ty/src/traits/chalk/interner.rs
+++ b/crates/ra_hir_ty/src/traits/chalk/interner.rs
@@ -42,6 +42,7 @@ impl chalk_ir::interner::Interner for Interner {
42 type DefId = InternId; 42 type DefId = InternId;
43 type InternedAdtId = crate::TypeCtorId; 43 type InternedAdtId = crate::TypeCtorId;
44 type Identifier = TypeAliasId; 44 type Identifier = TypeAliasId;
45 type FnAbi = ();
45 46
46 fn debug_adt_id(type_kind_id: AdtId, fmt: &mut fmt::Formatter<'_>) -> Option<fmt::Result> { 47 fn debug_adt_id(type_kind_id: AdtId, fmt: &mut fmt::Formatter<'_>) -> Option<fmt::Result> {
47 tls::with_current_program(|prog| Some(prog?.debug_struct_id(type_kind_id, fmt))) 48 tls::with_current_program(|prog| Some(prog?.debug_struct_id(type_kind_id, fmt)))
diff --git a/crates/ra_hir_ty/src/traits/chalk/mapping.rs b/crates/ra_hir_ty/src/traits/chalk/mapping.rs
index 18e5c9c16..ac82ea831 100644
--- a/crates/ra_hir_ty/src/traits/chalk/mapping.rs
+++ b/crates/ra_hir_ty/src/traits/chalk/mapping.rs
@@ -65,7 +65,10 @@ impl ToChalk for Ty {
65 &Interner, 65 &Interner,
66 predicates.iter().filter(|p| !p.is_error()).cloned().map(|p| p.to_chalk(db)), 66 predicates.iter().filter(|p| !p.is_error()).cloned().map(|p| p.to_chalk(db)),
67 ); 67 );
68 let bounded_ty = chalk_ir::DynTy { bounds: make_binders(where_clauses, 1) }; 68 let bounded_ty = chalk_ir::DynTy {
69 bounds: make_binders(where_clauses, 1),
70 lifetime: LIFETIME_PLACEHOLDER.to_lifetime(&Interner),
71 };
69 chalk_ir::TyData::Dyn(bounded_ty).intern(&Interner) 72 chalk_ir::TyData::Dyn(bounded_ty).intern(&Interner)
70 } 73 }
71 Ty::Opaque(opaque_ty) => { 74 Ty::Opaque(opaque_ty) => {
@@ -319,6 +322,10 @@ impl ToChalk for TypeCtor {
319 // this should not be reached, since we don't represent TypeName::Error with TypeCtor 322 // this should not be reached, since we don't represent TypeName::Error with TypeCtor
320 unreachable!() 323 unreachable!()
321 } 324 }
325 TypeName::Closure(_) => {
326 // FIXME: implement closure support
327 unreachable!()
328 }
322 } 329 }
323 } 330 }
324} 331}