diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/rep/type-rep.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/rep/type-rep.rkt index a0914621..74fc83f0 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/rep/type-rep.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/rep/type-rep.rkt @@ -182,7 +182,7 @@ ;; elem is a Type (def-type Set ([elem Type/c]) - [#:key #f]) + [#:key 'set]) ;; result is a Type (def-type Evt ([result Type/c]) 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 16b180ad..f40df966 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 @@ -1817,6 +1817,14 @@ (for: ([k : Symbol (in-set (set 'x 'y 'z))]) (displayln k)) (void)) -Void] + + ;; PR 14139 + [tc-e + (let () + (: f : (U (Setof Integer) Integer) → (Setof Integer)) + (define (f s) (if (set? s) s (set))) + (void)) + -Void] ) (test-suite "tc-literal tests"