From fc649c6b992b4173f78e82a4a54b069b2c16c0e4 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Fri, 20 Jun 2014 23:11:38 -0700 Subject: [PATCH] Fix subtype for filters in AnyValues. --- .../typed-racket-lib/typed-racket/types/subtype.rkt | 4 +++- .../tests/typed-racket/unit-tests/subtype-tests.rkt | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/types/subtype.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/types/subtype.rkt index 253c34eeef..2f9b5276ff 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/types/subtype.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/types/subtype.rkt @@ -565,7 +565,9 @@ (for/or ([f (in-list fs)]) (match f [(FilterSet: f+ f-) - (and (filter-subtype* A0 f+ t-f) (filter-subtype* A0 f+ t-f) A0)]))] + (subtype-seq A0 + (filter-subtype* f+ t-f) + (filter-subtype* f- t-f))]))] [((Result: t (FilterSet: ft ff) o) (Result: t* (FilterSet: ft* ff*) o)) (subtype-seq A0 (subtype* t t*) diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/subtype-tests.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/subtype-tests.rkt index 2d4a7d1b12..576ad4ac4a 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/subtype-tests.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/subtype-tests.rkt @@ -267,6 +267,8 @@ [(-> Univ -Bottom) (-> Univ (-values (list -String -Symbol)))] [(-> Univ -Bottom) (-> Univ (-values-dots null -String 'x))] + [FAIL (make-pred-ty -String) (-> Univ (-AnyValues (-filter -String 0)))] + ;; keyword function types [(->key #:x -Symbol #f Univ) (->key Univ)] [FAIL (->key #:x -Symbol #t Univ) (->key Univ)]