Initialize fail-escape in contract-exercise
Some exercise procedure might invoke contract-random-generate/choose, therefore fail-escape needs to be initialized.
This commit is contained in:
parent
5ba910d143
commit
43b0cd4a7e
|
@ -435,3 +435,11 @@
|
|||
(λ (x) (λ (y) #f))
|
||||
'pos
|
||||
'neg))
|
||||
|
||||
(check-exercise
|
||||
5
|
||||
void?
|
||||
(contract (-> (and/c #f #t) any)
|
||||
(λ (_) 'thing)
|
||||
'pos
|
||||
'neg))
|
||||
|
|
|
@ -61,7 +61,9 @@
|
|||
[(null? exers) (void)]
|
||||
[(null? vals) (loop exers orig-vals)]
|
||||
[else
|
||||
((car exers) (car vals))
|
||||
(let/ec k
|
||||
(parameterize ([fail-escape (λ () (k))])
|
||||
((car exers) (car vals))))
|
||||
(loop (cdr exers) (cdr vals))])))
|
||||
available-ctcs)]
|
||||
[else
|
||||
|
|
Loading…
Reference in New Issue
Block a user