Add error checking to ensure blame-source produces a srcloc? as documented.
This commit is contained in:
parent
c8f79dacbb
commit
4ebf53e919
|
@ -49,7 +49,7 @@
|
|||
(check-source-location! 'contract loc)
|
||||
(let ([new-val
|
||||
(((contract-projection c)
|
||||
(make-blame loc name (λ () (contract-name c)) pos neg #t))
|
||||
(make-blame (build-source-location loc) name (λ () (contract-name c)) pos neg #t))
|
||||
v)])
|
||||
(if (and (not (parameter? new-val)) ;; when PR 11221 is fixed, remove this line
|
||||
(procedure? new-val)
|
||||
|
|
|
@ -45,7 +45,16 @@
|
|||
|
||||
(define -make-blame
|
||||
(let ([make-blame
|
||||
(λ (source value build-name positive negative original?)
|
||||
(lambda (source value build-name positive negative original?)
|
||||
(unless (srcloc? source)
|
||||
(raise-type-error 'make-blame "source location (srcloc?)" 0
|
||||
source value build-name positive negative original?))
|
||||
(unless (procedure? build-name)
|
||||
(raise-type-error 'make-blame "procedure" 2
|
||||
source value build-name positive negative original?))
|
||||
(unless (procedure-arity-includes? build-name 0)
|
||||
(raise-type-error 'make-blame "procedure of 0 arguments" 2
|
||||
source value build-name positive negative original?))
|
||||
(make-blame
|
||||
source
|
||||
value
|
||||
|
|
Loading…
Reference in New Issue
Block a user