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