summaryrefslogtreecommitdiff
path: root/src/semantic
diff options
context:
space:
mode:
Diffstat (limited to 'src/semantic')
-rw-r--r--src/semantic/translate.rs15
1 files changed, 7 insertions, 8 deletions
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))
},
}
}