From 0278f71d93a560a62e984a4d9c17da7ca62f564c Mon Sep 17 00:00:00 2001 From: Stevie Strickland Date: Sun, 13 Jul 2008 04:35:54 -0400 Subject: [PATCH] I thought I checked this in, but apparently not! Oops. original commit: 05e54f0dfe619a491d7c337e4562f60f8dbdb7e9 --- collects/tests/typed-scheme/unit-tests/typecheck-tests.ss | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss b/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss index 75445e57..a5263dd3 100644 --- a/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss +++ b/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss @@ -642,6 +642,13 @@ ys))) (-polydots (a) ((list) ((list) (a a) . ->... . N) . ->* . ((list) (a a) . ->... . (-lst N))))] + ;; We need to make sure that even if a isn't free in the dotted type, that it gets replicated + ;; appropriately. + [tc-e (inst (plambda: (a ...) [ys : Number ... a] + (apply + ys)) + Boolean String Number) + (N N N . -> . N)] + #;[tc-err (let: ([fact : (Number -> Number) (lambda: ([n : Number]) (if (zero? n) 1 (* n (fact (- n 1)))))]) (fact 20))]