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))
|
(λ (x) (λ (y) #f))
|
||||||
'pos
|
'pos
|
||||||
'neg))
|
'neg))
|
||||||
|
|
||||||
|
(check-exercise
|
||||||
|
5
|
||||||
|
void?
|
||||||
|
(contract (-> (and/c #f #t) any)
|
||||||
|
(λ (_) 'thing)
|
||||||
|
'pos
|
||||||
|
'neg))
|
||||||
|
|
|
@ -61,7 +61,9 @@
|
||||||
[(null? exers) (void)]
|
[(null? exers) (void)]
|
||||||
[(null? vals) (loop exers orig-vals)]
|
[(null? vals) (loop exers orig-vals)]
|
||||||
[else
|
[else
|
||||||
((car exers) (car vals))
|
(let/ec k
|
||||||
|
(parameterize ([fail-escape (λ () (k))])
|
||||||
|
((car exers) (car vals))))
|
||||||
(loop (cdr exers) (cdr vals))])))
|
(loop (cdr exers) (cdr vals))])))
|
||||||
available-ctcs)]
|
available-ctcs)]
|
||||||
[else
|
[else
|
||||||
|
|
Loading…
Reference in New Issue
Block a user