Extend type of vector->list.

Closes #436.
This commit is contained in:
Vincent St-Amour 2016-10-08 18:33:39 -05:00
parent 2fc83b2868
commit 4773283f8f
2 changed files with 7 additions and 1 deletions

View File

@ -837,7 +837,8 @@
;; Section 4.11 (Vectors)
[vector? (make-pred-ty (make-VectorTop))]
[vector->list (-poly (a) (-> (-vec a) (-lst a)))]
[vector->list (-poly (a) (cl->* (-> (-vec a) (-lst a))
(-> (make-VectorTop) (-lst Univ))))]
[list->vector (-poly (a) (-> (-lst a) (-vec a)))]
[vector-length ((make-VectorTop) . -> . -Index)]
[vector (-poly (a) (->* (list) a (-vec a)))]

View File

@ -554,6 +554,11 @@
[tc-e (vector-immutable 2 "3" #t) (make-HeterogeneousVector (list -Integer -String -Boolean))]
[tc-e (make-vector 4 1) (-vec -Integer)]
[tc-e (build-vector 4 (lambda (x) 1)) (-vec -Integer)]
[tc-e (let ([x : Any (vector 1 2 3)])
(if (vector? x)
(vector->list x)
'()))
(-lst Univ)]
[tc-e (range 0) -Null]
[tc-e (range 1) (-lst* -Zero)]
[tc-e (range 4) (-lst -Byte)]