Fix `overlap' for refinements of base types.

original commit: 7bcd107e7ff5ce64791a5613a13f6445a87c638c
This commit is contained in:
Sam Tobin-Hochstadt 2010-10-07 11:19:54 -04:00
parent 21eb1eeadc
commit fb0df54c79

View File

@ -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))