From 8bbaf74559e046e2488b01c021ba5bbdd8580c57 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Thu, 18 Jun 2009 18:06:15 -0400 Subject: Fix a bug with 'Some p' patterns, where 'p' needs specialization --- src/specialize.sml | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/specialize.sml') 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 -- cgit v1.2.3