From 7bcd107e7ff5ce64791a5613a13f6445a87c638c Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Thu, 7 Oct 2010 11:19:54 -0400 Subject: [PATCH] Fix `overlap' for refinements of base types. --- collects/typed-scheme/types/remove-intersect.rkt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/collects/typed-scheme/types/remove-intersect.rkt b/collects/typed-scheme/types/remove-intersect.rkt index 9ea45efe63..6b3855f0ef 100644 --- a/collects/typed-scheme/types/remove-intersect.rkt +++ b/collects/typed-scheme/types/remove-intersect.rkt @@ -28,6 +28,10 @@ (overlap (resolve-once t1) (resolve-once t2)))] [(list (? Mu?) _) (overlap (unfold t1) t2)] [(list _ (? Mu?)) (overlap t1 (unfold t2))] + + [(list (Refinement: t _ _) t2) (overlap t t2)] + [(list t1 (Refinement: t _ _)) (overlap t1 t)] + [(list (Union: e) t) (ormap (lambda (t*) (overlap t* t)) e)] [(list t (Union: e))