fix name of struct constructor built by struct-out
closes PR 14073
This commit is contained in:
parent
007d563a41
commit
a13aed7420
|
@ -914,6 +914,20 @@
|
|||
(eval 'provide/contract46-x))
|
||||
123)
|
||||
|
||||
(test/spec-passed/result
|
||||
'provide/contract47
|
||||
'(begin
|
||||
(eval '(module provide/contract47-m1 racket
|
||||
(struct the-name-of-my-struct ())
|
||||
(provide (contract-out (struct the-name-of-my-struct ())))))
|
||||
(eval '(module provide/contract47-m2 racket
|
||||
(require 'provide/contract47-m1)
|
||||
(define provide/contract47-x (object-name the-name-of-my-struct))
|
||||
(provide provide/contract47-x)))
|
||||
(eval '(require 'provide/contract47-m2))
|
||||
(eval 'provide/contract47-x))
|
||||
'the-name-of-my-struct)
|
||||
|
||||
(contract-error-test
|
||||
'contract-error-test8
|
||||
#'(begin
|
||||
|
|
|
@ -606,11 +606,14 @@
|
|||
selector-codes ...
|
||||
mutator-codes ...
|
||||
predicate-code
|
||||
(define (#,chaperone-constructor-id constructor-args ...)
|
||||
(chaperone-struct (#,constructor-id constructor-args ...)
|
||||
struct-info
|
||||
(λ (struct-type skipped?)
|
||||
(values -struct:struct-name skipped?))))
|
||||
(define #,chaperone-constructor-id
|
||||
(let ([struct-name
|
||||
(λ (constructor-args ...)
|
||||
(chaperone-struct (#,constructor-id constructor-args ...)
|
||||
struct-info
|
||||
(λ (struct-type skipped?)
|
||||
(values -struct:struct-name skipped?))))])
|
||||
struct-name))
|
||||
constructor-code
|
||||
|
||||
;; expanding out the body of the `make-pc-struct-type' function
|
||||
|
|
Loading…
Reference in New Issue
Block a user