diff --git a/collects/tests/typed-scheme/fail/port-to-list.rkt b/collects/tests/typed-scheme/fail/port-to-list.rkt new file mode 100644 index 00000000..11ea3942 --- /dev/null +++ b/collects/tests/typed-scheme/fail/port-to-list.rkt @@ -0,0 +1,5 @@ +#lang typed/racket +(car (car + (parameterize ((current-input-port (open-input-string "2"))) + ((inst port->list (List Number)))))) + diff --git a/collects/typed-scheme/base-env/base-env.rkt b/collects/typed-scheme/base-env/base-env.rkt index 282071b4..038fbb6b 100644 --- a/collects/typed-scheme/base-env/base-env.rkt +++ b/collects/typed-scheme/base-env/base-env.rkt @@ -902,7 +902,10 @@ ;; scheme/port [port->lines (cl->* ([-Input-Port] . ->opt . (-lst -String)))] [port->bytes-lines (cl->* ([-Input-Port] . ->opt . (-lst -Bytes)))] -[port->list (-poly (a) (->opt [(-> -Input-Port a) -Input-Port] (-lst a)))] +[port->list + (-poly (a) (cl->* + (-> (-lst Univ)) + (->opt (-> -Input-Port a) [-Input-Port] (-lst a))))] [port->bytes (->opt [-Input-Port] -Bytes)] [port->string (->opt [-Input-Port] -String)] [with-output-to-string