diff --git a/pkgs/racket-test-core/tests/racket/module.rktl b/pkgs/racket-test-core/tests/racket/module.rktl index 26acc72021..aefb3e31a4 100644 --- a/pkgs/racket-test-core/tests/racket/module.rktl +++ b/pkgs/racket-test-core/tests/racket/module.rktl @@ -1029,6 +1029,12 @@ (err/rt-test (eval '(module m racket/base (define x 2) (provide x))) exn:fail:contract:variable?))) +(parameterize ([current-namespace (make-base-namespace)]) + (parameterize ([compile-enforce-module-constants #f]) + (eval '(module m racket/base (eq? y y) (define y 2)))) + (err/rt-test/once (eval '(dynamic-require ''m #f)) + exn:fail:contract:variable?)) + ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Check JIT treatement of seemingly constant imports diff --git a/racket/src/cs/schemified/schemify.scm b/racket/src/cs/schemified/schemify.scm index 0a5874610c..0531efdc90 100644 --- a/racket/src/cs/schemified/schemify.scm +++ b/racket/src/cs/schemified/schemify.scm @@ -17438,7 +17438,7 @@ app_0 (if enforce-constant?_0 'not-ready - 'set!ed))) + 'set!ed-too-early))) (for-loop_1 rest_1)))) (values))))))) (for-loop_1 ids_0))) diff --git a/racket/src/schemify/mutated.rkt b/racket/src/schemify/mutated.rkt index 24ef3df737..0209c7abf1 100644 --- a/racket/src/schemify/mutated.rkt +++ b/racket/src/schemify/mutated.rkt @@ -42,7 +42,7 @@ 'not-ready ;; If constants should not be enforced, then ;; treat all variable as mutated: - 'set!ed)))] + 'set!ed-too-early)))] [`,_ (void)])) ;; Walk through the body: (for/fold ([prev-knowns knowns]) ([form (in-list l)])