diff --git a/typed-racket-lib/typed-racket/base-env/prims-contract.rkt b/typed-racket-lib/typed-racket/base-env/prims-contract.rkt index 2af6d144..8807b3d4 100644 --- a/typed-racket-lib/typed-racket/base-env/prims-contract.rkt +++ b/typed-racket-lib/typed-racket/base-env/prims-contract.rkt @@ -85,6 +85,7 @@ "../utils/tc-utils.rkt" "../private/syntax-properties.rkt" "../private/cast-table.rkt" + "../private/type-contract.rkt" "../typecheck/internal-forms.rkt" ;; struct-extraction is actually used at both of these phases "../utils/struct-extraction.rkt" @@ -375,6 +376,9 @@ #`(begin #,stx (begin))] [(_ ty:id pred:id lib (~optional ne:name-exists-kw) ...) (with-syntax ([hidden (generate-temporary #'pred)]) + ;; this is needed because this expands to the contract directly without + ;; going through the normal `make-contract-def-rhs` function. + (set-box! include-extra-requires? #t) (quasisyntax/loc stx (begin ;; register the identifier for the top-level (see require/typed)