From ab2360384f6feb55736179ef7842927c545e3bc1 Mon Sep 17 00:00:00 2001 From: Stevie Strickland Date: Sat, 12 Jul 2008 22:11:23 -0400 Subject: [PATCH] We have to be careful here -- for example, one of the test cases was failing because the last thing in the instantiate was a function type, which is a cons. Look for a cons whose cdr is an identifier. --- collects/typed-scheme/private/tc-expr-unit.ss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collects/typed-scheme/private/tc-expr-unit.ss b/collects/typed-scheme/private/tc-expr-unit.ss index 32736434c4..8d7c4fedcf 100644 --- a/collects/typed-scheme/private/tc-expr-unit.ss +++ b/collects/typed-scheme/private/tc-expr-unit.ss @@ -76,7 +76,7 @@ ;; use instantiate-poly-dotted, otherwise we do the normal thing. (let-values ([(all-but-last last-stx) (split-last (syntax->list inst))]) (match (syntax-e last-stx) - [(cons last-ty-stx last-id-stx) + [(cons last-ty-stx (? identifier? last-id-stx)) (unless (Dotted? (lookup (current-tvars) (syntax-e last-id-stx) (lambda _ #f))) (tc-error/stx last-id-stx "~a is not a type variable bound with ..." (syntax-e last-id-stx))) (let* ([last-id (syntax-e last-id-stx)]