diff --git a/examples/basic/broken0003.ngr b/examples/basic/struct0002.ngr similarity index 100% rename from examples/basic/broken0003.ngr rename to examples/basic/struct0002.ngr diff --git a/src/type_infer/convert.rs b/src/type_infer/convert.rs index 85f7224..b16a1e4 100644 --- a/src/type_infer/convert.rs +++ b/src/type_infer/convert.rs @@ -307,10 +307,12 @@ fn convert_expression( merge_prereq(&mut prereqs, prereq); } + let result_type = ir::TypeOrVar::Structure(type_fields); + constraint_db.push(Constraint::NamedTypeIs( loc.clone(), name.clone().intern(), - ir::TypeOrVar::Structure(type_fields), + result_type.clone(), )); let result = ir::Expression::Construct(loc, result_type.clone(), name.intern(), result_fields);