From 3f5f4c9a54e48c0562112ea77cc27a7b5f1bbec9 Mon Sep 17 00:00:00 2001 From: Eric Dobson Date: Fri, 23 May 2014 00:07:23 -0700 Subject: [PATCH] Delete case in tc-expr which is not needed. --- .../typed-racket/typecheck/tc-expr-unit.rkt | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-expr-unit.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-expr-unit.rkt index c18817c7ad..4393403f8b 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-expr-unit.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/typecheck/tc-expr-unit.rkt @@ -75,15 +75,6 @@ t))] [else (tc-error/expr #:stx stx (syntax-e msg))])) -;; check that `expr` doesn't evaluate any references -;; to `name` that aren't under `lambda` -;; value-restriction? : syntax identifier -> boolean -(define (value-restriction? expr name) - (syntax-parse expr - [((~literal #%plain-lambda) . _) #true] - [((~literal case-lambda) . _) #true] - [_ #false])) - ;; tc-expr/check : syntax tc-results -> tc-results (define/cond-contract (tc-expr/check/internal form expected) (--> syntax? tc-results/c full-tc-results/c) @@ -202,14 +193,6 @@ ;; let [(let-values ([(name ...) expr] ...) . body) (tc/let-values #'((name ...) ...) #'(expr ...) #'body expected)] - [(letrec-values ([(name) expr]) name*) - #:when (and (identifier? #'name*) (free-identifier=? #'name #'name*) - (value-restriction? #'expr #'name)) - (match expected - [(tc-result1: t) - (with-lexical-env/extend (list #'name) (list t) (tc-expr/check #'expr expected))] - [(tc-results: ts) - (tc-error/expr "Expected ~a values, but got only 1" (length ts))])] [(letrec-values ([(name ...) expr] ...) . body) (tc/letrec-values #'((name ...) ...) #'(expr ...) #'body expected)] ;; other