add test case that makes sure we preserve chaperone-of for contract-out functions
This commit is contained in:
parent
666c5f1557
commit
393d72f153
|
@ -1051,6 +1051,24 @@
|
||||||
(eval '(dynamic-require ''provide/contract54-m2 'a)))
|
(eval '(dynamic-require ''provide/contract54-m2 'a)))
|
||||||
'((1 #t #\x 0) (1 #f #\a 0)))
|
'((1 #t #\x 0) (1 #f #\a 0)))
|
||||||
|
|
||||||
|
(test/spec-passed/result
|
||||||
|
'provide/contract55
|
||||||
|
'(let ()
|
||||||
|
(eval '(module provide/contract55-m1 racket/base
|
||||||
|
(require racket/contract/base)
|
||||||
|
(provide
|
||||||
|
(contract-out
|
||||||
|
[an-s s?]
|
||||||
|
[s-x (-> s? integer?)]))
|
||||||
|
(struct s (x))
|
||||||
|
(define an-s (s 5))))
|
||||||
|
(eval '(module provide/contract55-m2 racket/base
|
||||||
|
(require 'provide/contract55-m1)
|
||||||
|
(provide a)
|
||||||
|
(define a (s-x (chaperone-struct an-s s-x (λ (s x) x))))))
|
||||||
|
(eval '(dynamic-require ''provide/contract55-m2 'a)))
|
||||||
|
'5)
|
||||||
|
|
||||||
(contract-error-test
|
(contract-error-test
|
||||||
'contract-error-test8
|
'contract-error-test8
|
||||||
#'(begin
|
#'(begin
|
||||||
|
|
Loading…
Reference in New Issue
Block a user