From 84d1243b0f9db53c9a25ee86e929ff7c6ea7f4f4 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Wed, 29 Jan 2014 18:19:25 -0500 Subject: Add another simple case for record unification between alpha-equivalent constructors --- src/elaborate.sml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/elaborate.sml') diff --git a/src/elaborate.sml b/src/elaborate.sml index dfa8d0e2..0c8db756 100644 --- a/src/elaborate.sml +++ b/src/elaborate.sml @@ -873,8 +873,9 @@ | _ => false} val (others1, others2) = eatMatching (fn (c1, c2) => - not (hasUnifs c1 andalso hasUnifs c2) - andalso consEq env loc (c1, c2)) (#others s1, #others s2) + c1 = c2 + orelse (not (hasUnifs c1 andalso hasUnifs c2) + andalso consEq env loc (c1, c2))) (#others s1, #others s2) (*val () = eprefaces "Summaries3" [("#1", p_summary env {fields = fs1, unifs = unifs1, others = others1}), ("#2", p_summary env {fields = fs2, unifs = unifs2, others = others2})]*) -- cgit v1.2.3