diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt index 62968eb7..b1aaa8d9 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-special-env.rkt @@ -139,6 +139,9 @@ ;; in-bytes-lines [(make-template-identifier 'in-bytes-lines 'racket/private/for) (->opt [-Input-Port -Symbol] (-seq -Bytes))] + ;; in-set + [(make-template-identifier 'in-set 'racket/private/set) + (-poly (a) (-> (-set a) (-seq a)))] ;; check-in-bytes-lines [(make-template-identifier 'check-in-bytes-lines 'racket/private/for) (-> Univ Univ Univ)] diff --git a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt index 8c0933d3..16b180ad 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-test/tests/typed-racket/unit-tests/typecheck-tests.rkt @@ -1802,6 +1802,21 @@ ;; Unit test for PR 13298. Should raise an unbound id error ;; instead of just allowing `x` to be undefined [tc-err (let () (: x Number) 3)] + + ;; Sets as sequences + [tc-e (in-set (set 1 2 3)) (-seq -PosByte)] + [tc-e + (let () + (: lst (Listof Integer)) + (define lst + (for/list: : (Listof Integer) ([i : Integer (set 1 2 3)]) i)) + (void)) + -Void] + [tc-e + (let () + (for: ([k : Symbol (in-set (set 'x 'y 'z))]) (displayln k)) + (void)) + -Void] ) (test-suite "tc-literal tests"