diff --git a/collects/tests/typed-scheme/succeed/apply-dots-list.rkt b/collects/tests/typed-scheme/succeed/apply-dots-list.rkt index 85af5196b7..ec5c25febd 100644 --- a/collects/tests/typed-scheme/succeed/apply-dots-list.rkt +++ b/collects/tests/typed-scheme/succeed/apply-dots-list.rkt @@ -1,4 +1,3 @@ - ;; Change the lang to scheme for untyped version #lang typed-scheme diff --git a/collects/typed-scheme/types/convenience.rkt b/collects/typed-scheme/types/convenience.rkt index af07460c43..d8e8821dd0 100644 --- a/collects/typed-scheme/types/convenience.rkt +++ b/collects/typed-scheme/types/convenience.rkt @@ -23,9 +23,7 @@ (apply Un (map tc-result-t args))) -;; if t is of the form (Pair t* (Pair t* ... (Listof t*))) -;; return t* -;; otherwise, return t +;; used to produce a more general type for loop variables ;; generalize : Type -> Type (define (generalize t) (let/ec exit @@ -45,6 +43,7 @@ t-new) t-new (exit t)))] + [(ListDots: t bound) (-lst (substitute Univ bound t))] [_ (exit t)]))))