on master help sign in
Fix record constructor for extension
28d2568Evan Czaplicki
compiler/Type/Constrain/Declaration.hs+3−3
@@ -42,9 +42,9 @@ toDefs decl =
42 vars = take (length args) arguments
42 vars = take (length args) arguments
43
43
44 efields = zip (map fst fields) (map var vars)
44 efields = zip (map fst fields) (map var vars)
45− record = Src.none $ case ext of
45+ record = case ext of
46− Type.EmptyRecord -> Src.Record efields
46+ Type.EmptyRecord -> Src.none $ Src.Record efields
47− _ -> Src.Modify (var $ last vars) efields
47+ _ -> foldl (\r (f,v) -> Src.none $ Src.Insert r f v) (var $ last vars) efields
48
48
49 -- Type aliases must be added to an extended equality dictionary,
49 -- Type aliases must be added to an extended equality dictionary,
50 -- but they do not require any basic constraints.
50 -- but they do not require any basic constraints.