diff --git a/crates/hir_ty/src/traits/chalk.rs b/crates/hir_ty/src/traits/chalk.rs index 08c2c9a3e3d4..17c83b6a46e4 100644 --- a/crates/hir_ty/src/traits/chalk.rs +++ b/crates/hir_ty/src/traits/chalk.rs @@ -246,7 +246,8 @@ impl<'a> chalk_solve::RustIrDatabase for ChalkContext<'a> { } // FIXME: lookup names fn adt_name(&self, struct_id: chalk_ir::AdtId) -> String { - format!("Adt_{:?}", struct_id.0).replace("TypeCtorId(", "").replace(")", "") + let datum = self.db.struct_datum(self.krate, struct_id); + format!("{:?}", datum.name(&Interner)) } fn assoc_type_name(&self, assoc_ty_id: chalk_ir::AssocTypeId) -> String { format!("Assoc_{}", assoc_ty_id.0)