diff --git a/collects/tests/typed-scheme/fail/values-dots.ss b/collects/tests/typed-scheme/fail/values-dots.ss new file mode 100644 index 00000000..148a2815 --- /dev/null +++ b/collects/tests/typed-scheme/fail/values-dots.ss @@ -0,0 +1,16 @@ +#; +(exn-pred 2) +#lang typed-scheme + +(require typed-scheme/private/extra-procs) + +(: map-with-funcs (All (b ...) ((b ... b -> b) ... b -> (b ... b -> (values b ... b))))) +(define (map-with-funcs . fs) + (lambda bs + (apply values* (map (lambda: ([f : (b ... b -> b)]) + (apply f bs)) fs)))) + +(map-with-funcs (lambda () 1)) + +(map-with-funcs (lambda: ([x : Integer] [y : Integer] . [z : Integer *]) + (+ x y))) diff --git a/collects/tests/typed-scheme/succeed/values-dots.ss b/collects/tests/typed-scheme/succeed/values-dots.ss index 25cf3496..0078526f 100644 --- a/collects/tests/typed-scheme/succeed/values-dots.ss +++ b/collects/tests/typed-scheme/succeed/values-dots.ss @@ -16,12 +16,13 @@ (apply values* (map (lambda: ([f : (b ... b -> b)]) (apply f bs)) fs)))) -#;(map-with-funcs + - * /) +(map-with-funcs + - * /) (inst map-with-funcs Integer Integer) -#;(map-with-funcs (lambda: ([x : Integer] [y : Integer]) (+ x y)) - (lambda: ([x : Integer] [y : Integer]) (- x y))) +(map-with-funcs + (lambda: ([x : Integer] [y : Integer]) (+ x y)) + (lambda: ([x : Integer] [y : Integer]) (- x y)) ) (((inst map-with-funcs Integer Integer) (lambda: ([x : Integer] [y : Integer]) (+ x y))