Instrument async-channel/c.
This commit is contained in:
parent
c726cf6ffc
commit
a48b559324
|
@ -513,4 +513,12 @@
|
|||
'pos 'neg)
|
||||
1))
|
||||
|
||||
(test/spec-passed
|
||||
'contract-marks56
|
||||
'(let ()
|
||||
(eval '(require racket/async-channel))
|
||||
(eval '(define c (contract (async-channel/c pos-blame?) (make-async-channel) 'pos 'neg)))
|
||||
(eval '(async-channel-put c 3))
|
||||
(eval '(async-channel-get c))))
|
||||
|
||||
)
|
||||
|
|
|
@ -215,10 +215,17 @@
|
|||
(define pos-elem-proj (lnp blame))
|
||||
(define neg-elem-proj (lnp (blame-swap blame)))
|
||||
(λ (val neg-party)
|
||||
(define blame+neg-party (cons blame neg-party))
|
||||
(check-async-channel/c ctc val blame neg-party)
|
||||
(impersonate/chaperone-async-channel val
|
||||
(λ (v) (pos-elem-proj v neg-party))
|
||||
(λ (v) (neg-elem-proj v neg-party))
|
||||
(λ (v)
|
||||
(with-contract-continuation-mark
|
||||
blame+neg-party
|
||||
(pos-elem-proj v neg-party)))
|
||||
(λ (v)
|
||||
(with-contract-continuation-mark
|
||||
blame+neg-party
|
||||
(neg-elem-proj v neg-party)))
|
||||
impersonator-prop:contracted ctc
|
||||
impersonator-prop:blame blame))))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user