File tree Expand file tree Collapse file tree 2 files changed +22
-6
lines changed
typed-racket-lib/typed-racket/utils
typed-racket-test/unit-tests Expand file tree Collapse file tree 2 files changed +22
-6
lines changed Original file line number Diff line number Diff line change 171
171
(with-contract-continuation-mark
172
172
blame+neg-party
173
173
(any-wrap/traverse k neg-party seen/v))))] ;; key
174
- [(? evt?) (chaperone-evt v (lambda (e) (values e (λ (v)
175
- (with-contract-continuation-mark
176
- blame+neg-party
177
- (any-wrap/traverse v neg-party seen/v))))))]
178
174
[(? set?) (chaperone-hash-set
179
175
v
180
176
(λ (s e) e) ; inject
208
204
(chaperone-channel v
209
205
(lambda (e) (with-contract-continuation-mark
210
206
blame+neg-party
211
- (values v (any-wrap/traverse v neg-party seen/v))))
212
- (lambda (e) (fail neg-party v)))]
207
+ (values e (lambda (inner-val) (any-wrap/traverse inner-val neg-party seen/v)))))
208
+ (lambda (_e _new-val) (fail neg-party v)))]
209
+ [(? evt?)
210
+ ;; must come after cases for write-able values that can be used as events
211
+ (chaperone-evt v (lambda (e) (values e (λ (v)
212
+ (with-contract-continuation-mark
213
+ blame+neg-party
214
+ (any-wrap/traverse v neg-party seen/v))))))]
213
215
[_
214
216
(on-opaque v b neg-party)]))
215
217
any-wrap/traverse)
Original file line number Diff line number Diff line change 893
893
(t-int (-val #rx"aa " ) void #rx"aa " #:untyped )
894
894
(t-int (-val #rx#"bb " ) void #rx#"bb " #:untyped )
895
895
896
+ (t-int -ChannelTop
897
+ channel-get
898
+ (let ((ch (make-channel))) (thread (λ () (channel-put ch "ok " ))) ch)
899
+ #:typed )
900
+ (t-int -ChannelTop
901
+ channel-get
902
+ (let ((ch (make-channel))) (thread (λ () (channel-put ch "ok " ))) ch)
903
+ #:untyped )
904
+ (t-int/fail -ChannelTop
905
+ (lambda (ch)
906
+ (channel-put ch 'error ))
907
+ (make-channel)
908
+ #:typed
909
+ #:msg "higher-order value passed as `Any` " )
896
910
))
You can’t perform that action at this time.
0 commit comments