From ad1db428d3fe1176064a7ee43ca013962a82703e Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Wed, 30 Oct 2013 14:25:44 -0400 Subject: [PATCH] handle sets in `any-wrap/c` original commit: 3ae298b14504be101713692ab7e3169841670a09 --- .../typed-racket-lib/typed-racket/utils/any-wrap.rkt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/any-wrap.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/any-wrap.rkt index 290c0e09..8291350f 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/any-wrap.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/any-wrap.rkt @@ -1,7 +1,7 @@ #lang racket/base (require racket/match racket/contract/base racket/contract/combinator - racket/promise) + racket/promise racket/set) (define undef (letrec ([x x]) x)) @@ -84,6 +84,10 @@ (lambda (h v) v) ;; remove (lambda (h k) (t k)))] ;; key [(? evt?) (chaperone-evt v (lambda (e) (values e t)))] + [(? set?) + (for/set ([i (in-set v)]) (t i))] + ;; could do something with generic sets here if they had + ;; chaperones, or if i could tell if they were immutable. [(? struct?) (wrap-struct v)] [(? procedure?) (if (procedure-arity-includes? v 0)