sensible handling of literal vectors
original commit: ff36a6e8d1595cd0ee0c495efe240ebc23707419
This commit is contained in:
parent
6f16d9e2d6
commit
479db80e36
|
@ -3,6 +3,7 @@
|
|||
(ann (vector 1 2 3) (U String (Vector Integer Integer Integer) (Vectorof Number)))
|
||||
|
||||
(define v (ann (vector 1 2 3) (Vector Integer Integer Integer)))
|
||||
(define v* (ann #(1 2 3) (Vector Integer Integer Integer)))
|
||||
|
||||
(vector-ref v 2)
|
||||
(vector-ref v 0)
|
||||
|
|
|
@ -70,9 +70,9 @@
|
|||
[t (in-list ts)])
|
||||
(tc-literal l t)))]
|
||||
;; errors are handled elsewhere
|
||||
[_ (make-HeterogenousVector
|
||||
(for/list ([l (in-vector (syntax-e #'i))])
|
||||
(tc-literal l #f)))])]
|
||||
[_ (make-Vector (apply Un
|
||||
(for/list ([l (syntax-e #'i)])
|
||||
(tc-literal l #f))))])]
|
||||
[(~var i (3d hash?))
|
||||
(let* ([h (syntax-e #'i)]
|
||||
[ks (hash-map h (lambda (x y) (tc-literal x)))]
|
||||
|
|
Loading…
Reference in New Issue
Block a user