From ba5fa2d361c5e62272a41ed550c9f2d3a8a01ab6 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 5 Oct 2012 16:46:52 -0400 Subject: [PATCH] Allow invoking thunks on the untyped side of an `Any`. original commit: 6fde63007eb0f560b1f86b4c2361d509e4240f41 --- collects/typed-racket/utils/any-wrap.rkt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/collects/typed-racket/utils/any-wrap.rkt b/collects/typed-racket/utils/any-wrap.rkt index 31ac9ffa..da3f65d9 100644 --- a/collects/typed-racket/utils/any-wrap.rkt +++ b/collects/typed-racket/utils/any-wrap.rkt @@ -60,7 +60,11 @@ (lambda (h k) (t k)))] ;; key [(? evt?) (chaperone-evt v (lambda (e) (values e t)))] [(? struct?) (wrap-struct v)] - [(? procedure?) (chaperone-procedure v (lambda _ (fail v)))] + [(? procedure?) + (if (procedure-arity-includes? v 0) + (chaperone-procedure v (case-lambda [() (values)] + [_ (fail v)])) + (chaperone-procedure v (lambda args (fail v))))] [_ (fail v)])) t)