From a14723f27a61ce262b0024db1777fa2db7f94c8b Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Fri, 24 Jun 2011 20:35:06 -0400 Subject: [PATCH] Make vector-immutable work like vector. Closes PR 11535. --- collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt | 2 ++ collects/typed-scheme/typecheck/tc-app.rkt | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt b/collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt index 0ad26b9aee..f305609dda 100644 --- a/collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt +++ b/collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt @@ -190,6 +190,8 @@ [tc-e/t '(2 3 4) (-lst* -PosByte -PosByte -PosByte)] [tc-e/t '(2 3 #t) (-lst* -PosByte -PosByte (-val #t))] [tc-e/t #(2 3 #t) (make-HeterogenousVector (list -Integer -Integer (-val #t)))] + [tc-e (vector 2 "3" #t) (make-HeterogenousVector (list -Integer -String (-val #t)))] + [tc-e (vector-immutable 2 "3" #t) (make-HeterogenousVector (list -Integer -String (-val #t)))] [tc-e/t '(#t #f) (-lst* (-val #t) (-val #f))] [tc-e/t (plambda: (a) ([l : (Listof a)]) (car l)) (make-Poly '(a) (t:-> (make-Listof (-v a)) (-v a)))] diff --git a/collects/typed-scheme/typecheck/tc-app.rkt b/collects/typed-scheme/typecheck/tc-app.rkt index 96d9ceda6d..e487894422 100644 --- a/collects/typed-scheme/typecheck/tc-app.rkt +++ b/collects/typed-scheme/typecheck/tc-app.rkt @@ -419,7 +419,7 @@ [v-ty (let ([arg-tys (list v-ty e-t (single-value #'val))]) (tc/funapp #'op #'(v e val) (single-value #'op) arg-tys expected))])))] - [(#%plain-app (~and op (~literal vector)) args:expr ...) + [(#%plain-app (~and op (~or (~literal vector-immutable) (~literal vector))) args:expr ...) (let loop ([expected expected]) (match expected [(tc-result1: (Vector: t))