diff src/elaborate.sml @ 1074:d89f98f0b4bb

Fixing a bug in DInitializer elaboration
author Adam Chlipala <adamc@hcoop.net>
date Sun, 13 Dec 2009 14:34:18 -0500
parents b2311dfb3158
children 0657e5adc938
line wrap: on
line diff
--- a/src/elaborate.sml	Sun Dec 13 14:20:41 2009 -0500
+++ b/src/elaborate.sml	Sun Dec 13 14:34:18 2009 -0500
@@ -3671,12 +3671,12 @@
                 end
               | L.DInitializer e =>
                 let
-                    val (e', t, gs) = elabExp (env, denv) e
+                    val (e', t, gs') = elabExp (env, denv) e
                     val t' = (L'.CApp ((L'.CModProj (!basis_r, [], "transaction"), loc),
                                        (L'.TRecord (L'.CRecord ((L'.KType, loc), []), loc), loc)), loc)
                 in
                     checkCon env e' t t';
-                    ([(L'.DInitializer e', loc)], (env, denv, gs))
+                    ([(L'.DInitializer e', loc)], (env, denv, gs' @ gs))
                 end
 
         (*val tcs = List.filter (fn TypeClass _ => true | _ => false) (#3 (#2 r))*)