From b1818723dc49464c3e8330cde7edc00918f901bb Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 8 Jul 2016 11:51:52 -0400 Subject: [PATCH] Allow `environment-variables?` values as flat in `any-wrap/c`. Fixes the `envy` package by @lexi-lambda. --- typed-racket-lib/typed-racket/utils/any-wrap.rkt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/typed-racket-lib/typed-racket/utils/any-wrap.rkt b/typed-racket-lib/typed-racket/utils/any-wrap.rkt index 9bf1f343..26761837 100644 --- a/typed-racket-lib/typed-racket/utils/any-wrap.rkt +++ b/typed-racket-lib/typed-racket/utils/any-wrap.rkt @@ -30,6 +30,10 @@ (semaphore? e) (fsemaphore? e) (thread-group? e) (udp? e) + ;; Base since they can only store strings + ;; Bounded polymorphism would again make these not flat, + ;; but would be unsound since the external OS can change them + (environment-variables? e) ;; Base values because you can only store flonums/fixnums in these ;; and not any higher-order values. This isn't sound if we ever ;; introduce bounded polymorphism for Flvector/Fxvector.