summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-06-18 18:06:15 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-06-18 18:06:15 -0400
commit769225579b9e5a24c18c5629fb8717e5029a1aa6 (patch)
tree42468876b95c2a587811b4b209cfcc0cde98f0e5 /src
parent167258efc314f978a4cd5f248b8d3df2f36f9d6d (diff)
Fix a bug with 'Some p' patterns, where 'p' needs specialization
Diffstat (limited to 'src')
-rw-r--r--src/specialize.sml6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/specialize.sml b/src/specialize.sml
index 43c634c7..6db16b6c 100644
--- a/src/specialize.sml
+++ b/src/specialize.sml
@@ -190,6 +190,12 @@ fun pat (p, st) =
| SOME pn' => ((PCon (dk, PConVar pn', [], po), #2 p), st)
end
end
+ | PCon (dk, pc, args, SOME p') =>
+ let
+ val (p', st) = pat (p', st)
+ in
+ ((PCon (dk, pc, args, SOME p'), #2 p), st)
+ end
| PCon _ => (p, st)
| PRecord xps =>
let