diff --git a/collects/tests/typed-scheme/fail/apply-dots.ss b/collects/tests/typed-scheme/fail/apply-dots.ss new file mode 100644 index 00000000..6dde0cf9 --- /dev/null +++ b/collects/tests/typed-scheme/fail/apply-dots.ss @@ -0,0 +1,11 @@ +#lang typed-scheme + +(plambda: (a ...) ([z : String] . [w : Number]) + (apply (case-lambda: (([x : Number] . [y : Number ... a]) x)) + w)) + +(plambda: (a ...) ([z : String] . [w : Number]) + (apply (case-lambda: (([x : Number] . [y : Number ... a]) x) + (([x : String] [y : String] . [z : String]) 0) + ([y : String] 0)) + w)) \ No newline at end of file diff --git a/collects/tests/typed-scheme/succeed/apply-dots.ss b/collects/tests/typed-scheme/succeed/apply-dots.ss new file mode 100644 index 00000000..506f11a7 --- /dev/null +++ b/collects/tests/typed-scheme/succeed/apply-dots.ss @@ -0,0 +1,19 @@ +#lang typed-scheme + +(plambda: (a ...) ([z : String] . [w : Number ... a]) + (apply (lambda: ([x : Number] . [y : Number ... a]) x) + 1 w)) + +(plambda: (a ...) ([z : String] . [w : Number ... a]) + (apply (lambda: ([x : Number] . [y : Number]) x) + 1 w)) + +(plambda: (a ...) ([z : String] . [w : Number]) + (apply (lambda: ([x : Number] . [y : Number]) x) + 1 w)) + +(plambda: (a ...) ([z : String] . [w : Number]) + (apply (case-lambda: (([x : Number] . [y : Number ... a]) x) + (([x : String] [y : String] . [z : String]) 0) + ([y : Number] 0)) + w)) \ No newline at end of file