From b13ebb0924e1d45e164ceb616af0aef8379e1394 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Wed, 26 Jan 2011 11:37:56 -0500 Subject: [PATCH] Generalize hash table literals and subtypes of symbol. Closes PR 11670. original commit: 2bd0145603f411e01ce6e16bfcf6ffc842b6801a --- collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt | 3 ++- collects/typed-scheme/typecheck/tc-expr-unit.rkt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt b/collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt index 7f2efe54..141d8dce 100644 --- a/collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt +++ b/collects/tests/typed-scheme/unit-tests/typecheck-tests.rkt @@ -872,7 +872,8 @@ (tc-l #"foo" -Bytes) [tc-l () (-val null)] [tc-l (3 . 4) (-pair -PositiveFixnum -PositiveFixnum)] - [tc-l #hash((1 . 2) (3 . 4)) (make-Hashtable -PositiveFixnum -PositiveFixnum)]) + [tc-l #hash((1 . 2) (3 . 4)) (make-Hashtable -Integer -Integer)] + [tc-l #hasheq((a . q) (b . w)) (make-Hashtable -Symbol -Symbol)]) )) diff --git a/collects/typed-scheme/typecheck/tc-expr-unit.rkt b/collects/typed-scheme/typecheck/tc-expr-unit.rkt index 1ede210e..2a25971d 100644 --- a/collects/typed-scheme/typecheck/tc-expr-unit.rkt +++ b/collects/typed-scheme/typecheck/tc-expr-unit.rkt @@ -96,7 +96,7 @@ (let* ([h (syntax-e #'i)] [ks (hash-map h (lambda (x y) (tc-literal x)))] [vs (hash-map h (lambda (x y) (tc-literal y)))]) - (make-Hashtable (apply Un ks) (apply Un vs)))] + (make-Hashtable (generalize (apply Un ks)) (generalize (apply Un vs))))] [(a . b) (-pair (tc-literal #'a) (tc-literal #'b))] [_ Univ]))