From 349c54f3c0e79e5c1e81c9bb7b029aba89bee99f Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 19 Aug 2011 07:40:39 -0600 Subject: [PATCH] fix optimizer test --- collects/tests/racket/optimize.rktl | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/collects/tests/racket/optimize.rktl b/collects/tests/racket/optimize.rktl index bf2e847d66..46186a98eb 100644 --- a/collects/tests/racket/optimize.rktl +++ b/collects/tests/racket/optimize.rktl @@ -887,10 +887,21 @@ '(module m racket/base (define x 10) (define (f y) - (begin - x ; compiler might not determine that `x' is definitely defined - (list (cons y y) - (set! x x))))) + (list (cons y y) + (set! x x))))) + +;; Treat access to a mutable top-level as an effect: +(test-comp '(module m racket/base + (define x 10) + (define (f y) + (let ([old x]) + (list (cons y x) + (set! x old))))) + '(module m racket/base + (define x 10) + (define (f y) + (list (cons y x) + (set! x x)))) #f) (test-comp '(let ([x 1][y 2]) x)