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 8d687148..f34c5f32 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 @@ -555,7 +555,9 @@ ;; subtyping on values is pointwise [((Values: vals1) (Values: vals2)) (subtypes* A0 vals1 vals2)] [((ValuesDots: s-rs s-dty dbound) (ValuesDots: t-rs t-dty dbound)) - (subtype* (subtypes* A0 s-rs t-rs) s-dty t-dty)] + (subtype-seq A0 + (subtypes* s-rs t-rs) + (subtype* s-dty t-dty))] [((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 bf18f041..88d709af 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 @@ -261,6 +261,8 @@ [FAIL (make-ListDots (-box (make-F 'a)) 'a) (-lst (-box Univ))] [(make-ListDots (-> -Symbol (make-F 'a)) 'a) (-lst (-> -Symbol Univ))] + [FAIL (make-ValuesDots (list) -Symbol 'a) (make-ValuesDots (list (-result -String)) -String 'a)] + ;; keyword function types [(->key #:x -Symbol #f Univ) (->key Univ)] [FAIL (->key #:x -Symbol #t Univ) (->key Univ)]