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))