diff options
Diffstat (limited to 'crates/ra_hir_ty/src/traits/chalk')
-rw-r--r-- | crates/ra_hir_ty/src/traits/chalk/interner.rs | 1 | ||||
-rw-r--r-- | crates/ra_hir_ty/src/traits/chalk/mapping.rs | 9 |
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 | } |