diff --git a/collects/tests/typed-scheme/succeed/provide-sexp.ss b/collects/tests/typed-scheme/succeed/provide-sexp.ss new file mode 100644 index 0000000000..c9c2476f43 --- /dev/null +++ b/collects/tests/typed-scheme/succeed/provide-sexp.ss @@ -0,0 +1,11 @@ + +#lang scheme/load + +(module m typed-scheme + (provide f) + (: f Sexp) + (define f 5)) + +(require 'm) + +f \ No newline at end of file diff --git a/collects/typed-scheme/private/type-contract.ss b/collects/typed-scheme/private/type-contract.ss index a4f22f20b6..efef3418d7 100644 --- a/collects/typed-scheme/private/type-contract.ss +++ b/collects/typed-scheme/private/type-contract.ss @@ -93,7 +93,9 @@ [(list e) e] [l #`(case-> #,@l)]))] [(Vector: t) - #`(vectorof #,(t->c t))] + #`(vector-immutableof #,(t->c t))] + [(Box: t) + #`(box-immutable/c #,(t->c t))] [(Pair: t1 t2) #`(cons/c #,(t->c t1) #,(t->c t2))] [(Opaque: p? cert)