From 90053d7d400775c71178606b41e438af645dacce Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sun, 4 May 2014 14:34:07 -0500 Subject: [PATCH] fix random generation environment usage closes PR 14484 --- .../racket-test/tests/racket/contract-rand-test.rkt | 4 ++++ racket/collects/racket/contract/private/arrow-val-first.rkt | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-pkgs/racket-test/tests/racket/contract-rand-test.rkt b/pkgs/racket-pkgs/racket-test/tests/racket/contract-rand-test.rkt index 53c3abb9ec..d500883b3f 100644 --- a/pkgs/racket-pkgs/racket-test/tests/racket/contract-rand-test.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/racket/contract-rand-test.rkt @@ -48,6 +48,9 @@ (check-not-exn (λ () ((test-contract-generation (-> (-> integer? integer?) boolean?)) +))) (check-not-exn (λ () ((test-contract-generation (-> some-crazy-predicate? some-crazy-predicate?)) 11))) +(check-not-exn + (λ () (((test-contract-generation (-> (-> (>/c 10) (>/c 10))))) 11))) + (define (cannot-generate-exn? x) (and (exn:fail? x) @@ -102,3 +105,4 @@ (check-exn cannot-generate-exn? (λ () (test-contract-generation (-> (listof some-crazy-predicate?) some-crazy-predicate?)))) + diff --git a/racket/collects/racket/contract/private/arrow-val-first.rkt b/racket/collects/racket/contract/private/arrow-val-first.rkt index b542929c3b..3ce11ff322 100644 --- a/racket/collects/racket/contract/private/arrow-val-first.rkt +++ b/racket/collects/racket/contract/private/arrow-val-first.rkt @@ -731,8 +731,8 @@ (cond [(for/and ([rng-gen (in-list rngs-gens)]) rng-gen) + (define env (generate-env)) (λ () - (define env (generate-env)) (procedure-reduce-arity (λ args ; stash the arguments for use by other generators