Use tail-position syntax property for non-functions.

svn: r16451
This commit is contained in:
Sam Tobin-Hochstadt 2009-10-29 18:02:33 +00:00
parent be20c0747c
commit 6d70a48de1

View File

@ -94,6 +94,9 @@
[(#%plain-lambda () _) [(#%plain-lambda () _)
#:fail-unless (and expected (syntax-property e 'typechecker:called-in-tail-position)) #f #:fail-unless (and expected (syntax-property e 'typechecker:called-in-tail-position)) #f
(tc-expr/check e (ret (-> (tc-results->values expected))))] (tc-expr/check e (ret (-> (tc-results->values expected))))]
[_
#:fail-unless (and expected (syntax-property e 'typechecker:called-in-tail-position)) #f
(tc-expr/check e expected)]
[_ (tc-expr e)])) [_ (tc-expr e)]))
(define (tc/let-values namess exprs body form [expected #f]) (define (tc/let-values namess exprs body form [expected #f])