From 2479dffde00076c328274ed36a064357f4d1cc64 Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Wed, 21 Oct 2015 17:22:16 -0400 Subject: [PATCH] Fix #:opaque require clauses at the top-level --- .../typed-racket/base-env/prims-contract.rkt | 4 ++++ typed-racket-test/unit-tests/interactive-tests.rkt | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) 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 84fd0a5e..bb2bae91 100644 --- a/typed-racket-lib/typed-racket/base-env/prims-contract.rkt +++ b/typed-racket-lib/typed-racket/base-env/prims-contract.rkt @@ -334,6 +334,10 @@ (with-syntax ([hidden (generate-temporary #'pred)]) (quasisyntax/loc stx (begin + ;; register the identifier for the top-level (see require/typed) + #,@(if (eq? (syntax-local-context) 'top-level) + (list #'(define-syntaxes (hidden) (values))) + null) #,(ignore #'(define pred-cnt (any/c . c-> . boolean?))) #,(internal #'(require/typed-internal hidden (Any -> Boolean : (Opaque pred)))) #,(if (attribute ne) diff --git a/typed-racket-test/unit-tests/interactive-tests.rkt b/typed-racket-test/unit-tests/interactive-tests.rkt index 0cd3cc7e..1a5fd62e 100644 --- a/typed-racket-test/unit-tests/interactive-tests.rkt +++ b/typed-racket-test/unit-tests/interactive-tests.rkt @@ -106,10 +106,12 @@ ;; PR 14487 (test-form-not-exn - (require/typed racket/base - [#:opaque Evt evt?] - [alarm-evt (Real -> Evt)] - [sync (Evt -> Any)])) + (begin + (require/typed racket/base + [#:opaque Evt evt?] + [alarm-evt (Real -> Evt)] + [sync (Evt -> Any)]) + evt?)) ;; PR 14380 (test-form-not-exn (begin - (void)))