summaryrefslogtreecommitdiff
path: root/src/core_print.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-05-14 09:11:58 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-05-14 09:11:58 -0400
commit9e6bd5dd1394c99f0a9b29369a4957c958e0830c (patch)
tree40c991c6a8032bc73433e5d3f9c1db78a98674ef /src/core_print.sml
parent22b407de7cf9ee5cc5947369372d9ca8373134a6 (diff)
Fix a nasty binding bug in CoreUtil
Diffstat (limited to 'src/core_print.sml')
-rw-r--r--src/core_print.sml10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core_print.sml b/src/core_print.sml
index 971aa4b4..e9d8951e 100644
--- a/src/core_print.sml
+++ b/src/core_print.sml
@@ -198,12 +198,18 @@ fun p_con_named env n =
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 ".",