Provide srcloc when constructing define
in define/contract
. (#1660)
This commit is contained in:
parent
73d28d88d2
commit
9d26d675a7
|
@ -346,4 +346,15 @@
|
|||
(->* (integer?) (#:y integer?) integer?)
|
||||
x)
|
||||
(f 3 #:y #f))
|
||||
"top-level"))
|
||||
"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))))
|
|
@ -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])
|
||||
|
|
Loading…
Reference in New Issue
Block a user