Make ... <: * case more correct.
original commit: ff8ed078d55637c5ba24ffd16731f7e799d11093
This commit is contained in:
parent
f9352fa2a4
commit
ff23359f9d
|
@ -324,7 +324,8 @@
|
|||
(cgen V (cons dbound X) Y s-dty t-rest))
|
||||
vars dbound)]
|
||||
[else
|
||||
(cgen/seq V X Y (seq ss (uniform-end (substitute Univ dbound s-dty))) t-seq)])]))
|
||||
(extend-tvars (list dbound)
|
||||
(cgen/seq (cons dbound V) X Y (seq ss (uniform-end s-dty)) t-seq))])]))
|
||||
|
||||
(define/cond-contract (cgen/arr V X Y s-arr t-arr)
|
||||
((listof symbol?) (listof symbol?) (listof symbol?) arr? arr? . -> . (or/c #f cset?))
|
||||
|
|
|
@ -181,6 +181,10 @@
|
|||
(infer-t (-lst -Symbol) (make-ListDots (-v b) 'b) #:indices '(b)
|
||||
#:result [(make-ListDots (-v b) 'b) (-lst -Symbol)])
|
||||
(infer-t (make-ListDots (-v b) 'b) (-lst Univ) #:indices '(b))
|
||||
(infer-t (make-ListDots (-v a) 'a) (-lst Univ))
|
||||
(infer-t (make-ListDots (-lst (-v a)) 'a) (-lst (-lst Univ)))
|
||||
(infer-t (make-ListDots (-vec (-v a)) 'a) (-lst (-vec Univ)) #:fail)
|
||||
|
||||
(infer-t (make-ListDots (-v a) 'b) (make-ListDots -Symbol 'b) #:vars '(a))
|
||||
(infer-t (make-ListDots (-v b) 'b) (make-ListDots -Symbol 'b) #:indices '(b))
|
||||
(infer-t (make-ListDots -Symbol 'b) (make-ListDots (-v b) 'b) #:indices '(b))
|
||||
|
|
Loading…
Reference in New Issue
Block a user