From 37bfd24a0b95a07747d50c229b256f900cc0b89a Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 6 Nov 2015 11:47:11 -0500 Subject: [PATCH] Add test for or/c problem. --- typed-racket-test/fail/union-or-exclusive.rkt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 typed-racket-test/fail/union-or-exclusive.rkt diff --git a/typed-racket-test/fail/union-or-exclusive.rkt b/typed-racket-test/fail/union-or-exclusive.rkt new file mode 100644 index 00000000..f3bbf65a --- /dev/null +++ b/typed-racket-test/fail/union-or-exclusive.rkt @@ -0,0 +1,24 @@ +#; +(exn-pred exn:fail:contract? "Real") +#lang typed/racket #:no-optimize + + +(module m1 racket + (define (fix-vector-field-fun f) + (cond [(procedure-arity-includes? f 2 #t) + (λ (x y) (f x y))] + [else + (λ (x y) (f (vector x y)))])) + (provide fix-vector-field-fun)) + +(require/typed + (submod "." m1) + [fix-vector-field-fun (-> (U (-> Real Real Any) + (-> (Vector Real Real) Any)) + (-> Real Real Any))]) + +(: f : (Vector Real Real) -> (Listof Real)) +(define f (λ ([x : (Vector Real Real)] [ignored : Any #f]) + (list (vector-ref x 0) (vector-ref x 1)))) + +((fix-vector-field-fun f) 0.0 0.0)