diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-06-18 18:06:15 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-06-18 18:06:15 -0400 |
commit | 769225579b9e5a24c18c5629fb8717e5029a1aa6 (patch) | |
tree | 42468876b95c2a587811b4b209cfcc0cde98f0e5 /src | |
parent | 167258efc314f978a4cd5f248b8d3df2f36f9d6d (diff) |
Fix a bug with 'Some p' patterns, where 'p' needs specialization
Diffstat (limited to 'src')
-rw-r--r-- | src/specialize.sml | 6 |
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 |