diff --git a/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss b/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss index 4a7dbb58..0a4636bf 100644 --- a/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss +++ b/collects/tests/typed-scheme/unit-tests/typecheck-tests.ss @@ -759,6 +759,9 @@ (-polydots (a) ((list -Number) (a a) . ->... . -Boolean))] [tc-e (ann (error 'foo) (values Number Number)) #:ret (ret (list -Number -Number))] + [tc-e (string->number "123") + (t:Un (-val #f) -Number)] + [tc-e #{(make-hash) :: (HashTable Number Number)} (make-Hashtable -Number -Number)] #;[tc-err (let: ([fact : (Number -> Number) (lambda: ([n : Number]) (if (zero? n) 1 (* n (fact (- n 1)))))]) diff --git a/collects/typed-scheme/private/base-env.ss b/collects/typed-scheme/private/base-env.ss index e270e5d2..419a0499 100644 --- a/collects/typed-scheme/private/base-env.ss +++ b/collects/typed-scheme/private/base-env.ss @@ -290,7 +290,7 @@ [-> -Bytes -Bytes])] [number->string (->opt N [N] -String)] -[string->number (->opt -String [N] -String)] +[string->number (->opt -String [N] (Un (-val #f) N))] [current-milliseconds (-> -Integer)]