From 479db80e3657805ae922bc71f0cc27a3540f8265 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Thu, 13 May 2010 18:38:48 -0400 Subject: [PATCH] sensible handling of literal vectors original commit: ff36a6e8d1595cd0ee0c495efe240ebc23707419 --- collects/tests/typed-scheme/succeed/het-vec2.ss | 1 + collects/typed-scheme/typecheck/tc-expr-unit.rkt | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/collects/tests/typed-scheme/succeed/het-vec2.ss b/collects/tests/typed-scheme/succeed/het-vec2.ss index 3531b980..e7243d7d 100644 --- a/collects/tests/typed-scheme/succeed/het-vec2.ss +++ b/collects/tests/typed-scheme/succeed/het-vec2.ss @@ -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) diff --git a/collects/typed-scheme/typecheck/tc-expr-unit.rkt b/collects/typed-scheme/typecheck/tc-expr-unit.rkt index c17ecb00..4e27132d 100644 --- a/collects/typed-scheme/typecheck/tc-expr-unit.rkt +++ b/collects/typed-scheme/typecheck/tc-expr-unit.rkt @@ -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)))]