Add type definition for unsafe-vector*-ref and unsafe-vector*-length, which have recently been introduced, and a test case for in-vector (which uses the above).

svn: r18667
This commit is contained in:
Noel Welsh 2010-03-30 13:33:45 +00:00
parent 3a0b16d4ce
commit cfab7a8d97
2 changed files with 3 additions and 0 deletions

View File

@ -7,3 +7,4 @@
(ann (for ([z (open-input-string "foobar")]) (add1 z)) Void) (ann (for ([z (open-input-string "foobar")]) (add1 z)) Void)
(ann (for ([z (in-list (list 1 2 3))]) (add1 z)) Void) (ann (for ([z (in-list (list 1 2 3))]) (add1 z)) Void)
(ann (for ([z (in-vector (vector 1 2 3))]) (add1 z)) Void)

View File

@ -651,7 +651,9 @@
;; unsafe ;; unsafe
[unsafe-vector-ref (-poly (a) ((-vec a) -Nat . -> . a))] [unsafe-vector-ref (-poly (a) ((-vec a) -Nat . -> . a))]
[unsafe-vector*-ref (-poly (a) ((-vec a) -Nat . -> . a))]
[unsafe-vector-length (-poly (a) ((-vec a) . -> . -Nat))] [unsafe-vector-length (-poly (a) ((-vec a) . -> . -Nat))]
[unsafe-vector*-length (-poly (a) ((-vec a) . -> . -Nat))]
[unsafe-car (-poly (a b) [unsafe-car (-poly (a b)
(cl->* (cl->*
(->acc (list (-pair a b)) a (list -car))))] (->acc (list (-pair a b)) a (list -car))))]