diff src/core_print.sml @ 796:6271f0e3c272

Fix a nasty binding bug in CoreUtil
author Adam Chlipala <adamc@hcoop.net>
date Thu, 14 May 2009 09:11:58 -0400
parents fa2019a63ea4
children ef6de4075dc1
line wrap: on
line diff
--- a/src/core_print.sml	Thu May 14 08:15:36 2009 -0400
+++ b/src/core_print.sml	Thu May 14 09:11:58 2009 -0400
@@ -198,12 +198,18 @@
 fun p_patCon env pc =
     case pc of
         PConVar n => p_con_named env n
-      | PConFfi {mod = m, con, arg, ...} =>
+      | PConFfi {mod = m, con, arg, params, ...} =>
         if !debug then
             box [string "FFIC[",
                  case arg of
                      NONE => box []
-                   | SOME t => p_con env t,
+                   | SOME t =>
+                     let
+                         val k = (KType, ErrorMsg.dummySpan)
+                         val env' = foldl (fn (x, env) => E.pushCRel env x k) env params
+                     in
+                         p_con env' t
+                     end,
                  string "](",
                  string m,
                  string ".",