diff --git a/pkgs/racket-test/tests/racket/contract/define-contract.rkt b/pkgs/racket-test/tests/racket/contract/define-contract.rkt index a26e61a8b0..a50218642a 100644 --- a/pkgs/racket-test/tests/racket/contract/define-contract.rkt +++ b/pkgs/racket-test/tests/racket/contract/define-contract.rkt @@ -346,4 +346,15 @@ (->* (integer?) (#:y integer?) integer?) x) (f 3 #:y #f)) - "top-level")) \ No newline at end of file + "top-level")) + + +(parameterize ([current-namespace (make-base-namespace)]) + (namespace-require 'racket/base) + (namespace-require 'racket/contract) + (eval (datum->syntax #f + '(define/contract ((f x) y) any/c (+ x y)) + (vector "x.rkt" 1 0 1 0))) + (test 'x.rkt:1:0 object-name (eval '(f 1))) + (eval (datum->syntax #f '(define ((g x) y) y) (vector "x.rkt" 1 0 1 0))) + (test 'x.rkt:1:0 object-name (eval '(f 1)))) \ No newline at end of file diff --git a/racket/collects/racket/contract/region.rkt b/racket/collects/racket/contract/region.rkt index 28b9139407..053292d221 100644 --- a/racket/collects/racket/contract/region.rkt +++ b/racket/collects/racket/contract/region.rkt @@ -98,7 +98,8 @@ (let-values ([(name body-expr) (normalize-definition (datum->syntax #'define-stx (list* 'define/contract #'name+arg-list - #'body0 #'(body ...))) + #'body0 #'(body ...)) + define-stx define-stx) #'lambda #t #t)]) (with-syntax ([name name] [body-expr body-expr])