aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/elaborate.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2014-01-29 18:19:25 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2014-01-29 18:19:25 -0500
commit84d1243b0f9db53c9a25ee86e929ff7c6ea7f4f4 (patch)
treeef87ccb685fbe75fd9dfc786039b2ef3fec1fecc /src/elaborate.sml
parent4063d1c5696438d73c0b15d7552e7717327e8ba1 (diff)
Add another simple case for record unification between alpha-equivalent constructors
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r--src/elaborate.sml5
1 files changed, 3 insertions, 2 deletions
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})]*)