From 5b137e0983051bf72759cea9c4af1c4bc7a24e1f Mon Sep 17 00:00:00 2001
From: David Li
Date: Mon, 6 Nov 2017 09:26:23 -0500
Subject: Type check record definitions
---
src/semantic/translate.rs | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
(limited to 'src/semantic')
diff --git a/src/semantic/translate.rs b/src/semantic/translate.rs
index 6c7f60c..dfcec68 100644
--- a/src/semantic/translate.rs
+++ b/src/semantic/translate.rs
@@ -43,14 +43,13 @@ fn trans_ty<'a>(
trans_ty(venv, tenv, &inner_ty)
},
ast::Ty::Record(ref fields) => {
- err!(ty, TypeError::Unimplemented)
- // let result = vec![];
- // for field in fields {
- // result.push(types::RecordField::new(
- // *field.name,
- // trans_ty(venv, tenv, field.ty)?));
- // }
- // Ok(Ty::Record(result))
+ let mut result = vec![];
+ for field in fields {
+ result.push(types::RecordField::new(
+ field.name.clone(),
+ trans_ty(venv, tenv, &field.ty)?));
+ }
+ Ok(Ty::Record(result))
},
}
}
--
cgit v1.2.3