recursive contract: add else-branch to a cond

Raise an exception if none of the other cases match, instead of
returning `(void)` where a contract is expected
This commit is contained in:
Ben Greenman 2019-04-19 21:01:17 -04:00 committed by Robby Findler
parent e337c65204
commit f26b793e9a

View File

@ -210,7 +210,9 @@
[(chaperone-recursive-contract? ctc)
(coerce-chaperone-contract 'recursive-contract (thunk))]
[(impersonator-recursive-contract? ctc)
(coerce-contract 'recursive-contract (thunk))]))
(coerce-contract 'recursive-contract (thunk))]
[else ;; internal error
(raise-argument-error 'force-recursive-contract "recursive-contract?" ctc)]))
(when (recursive-contract-list-contract? ctc)
(unless (list-contract? forced-ctc)
(raise-argument-error 'recursive-contract "list-contract?" forced-ctc)))