diff --git a/pkgs/racket-pkgs/racket-test/tests/racket/for.rktl b/pkgs/racket-pkgs/racket-test/tests/racket/for.rktl index 9482bf0230..c10eb75260 100644 --- a/pkgs/racket-pkgs/racket-test/tests/racket/for.rktl +++ b/pkgs/racket-pkgs/racket-test/tests/racket/for.rktl @@ -105,7 +105,9 @@ (test-sequence [(1 2 3 4)] (for/list ([x (in-producer (counter))] #:break (= x 5)) x)) (test-sequence [(1 2 3 4)] (for/list ([x (in-producer (counter) 5)]) x)) (test-sequence [(1/2 1 3/2 2 5/2 3 7/2 4 9/2)] - (for/list ([x (in-producer (counter) 5 1/2)]) x))) + (for/list ([x (in-producer (counter) 5 1/2)]) x)) + ;; test in-producer outside of for loops + (test 6 sequence-ref (in-producer (counter)) 5)) (test-sequence [(1 2 3 4 5)] (parameterize ([current-input-port (open-input-string "1 2 3\n4 5")]) diff --git a/racket/collects/racket/private/for.rkt b/racket/collects/racket/private/for.rkt index 60b236e383..f8099e309f 100644 --- a/racket/collects/racket/private/for.rkt +++ b/racket/collects/racket/private/for.rkt @@ -1051,7 +1051,7 @@ (case-lambda [(producer) ;; simple stop-less version - (make-do-sequence (lambda () (values producer void (void) #f #f #f)))] + (make-do-sequence (lambda () (values (λ _ (producer)) void (void) #f #f #f)))] [(producer stop . more) (define produce! (if (null? more)