From b4af99babbdeece0e1c4fcc0e0d033df368fb957 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Mon, 20 Feb 2012 18:45:33 -0500 Subject: [PATCH] Fix types of numerics etc with expected type. --- collects/typed-racket/typecheck/tc-expr-unit.rkt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/collects/typed-racket/typecheck/tc-expr-unit.rkt b/collects/typed-racket/typecheck/tc-expr-unit.rkt index d5d43aba00..d7e379442c 100644 --- a/collects/typed-racket/typecheck/tc-expr-unit.rkt +++ b/collects/typed-racket/typecheck/tc-expr-unit.rkt @@ -25,8 +25,13 @@ ;; return the type of a literal value ;; scheme-value [type] -> type (define (tc-literal v-stx [expected #f]) + (define-syntax-class exp + (pattern (~and i (~or :number :str :bytes)) + #:fail-unless expected #f + #:fail-unless (subtype (-val (syntax-e #'i)) expected) #f)) (define r (syntax-parse v-stx + [i:exp expected] [i:boolean (-val (syntax-e #'i))] [i:identifier (-val (syntax-e #'i))]