Make valuesdots subtyping not cause contract violations.
original commit: 2533effb2fdc02e29f149cfc55767a26ff88fbf1
This commit is contained in:
parent
871f8a5ca3
commit
d9c7180a00
|
@ -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*)
|
||||
|
|
|
@ -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)]
|
||||
|
|
Loading…
Reference in New Issue
Block a user