cs: avoid inlining error path internally
This commit is contained in:
parent
91e3065991
commit
c017ecbafe
|
@ -25,16 +25,16 @@
|
|||
(syntax-case stx (:test :contract :or-false)
|
||||
[(_ who pred :contract ctc v)
|
||||
#`(unless (pred v)
|
||||
(raise-argument-error who ctc v))]
|
||||
(#%$app/no-inline raise-argument-error who ctc v))]
|
||||
[(_ who :test test-expr :contract ctc v)
|
||||
#`(unless test-expr
|
||||
(raise-argument-error who ctc v))]
|
||||
(#%$app/no-inline raise-argument-error who ctc v))]
|
||||
[(_ who :or-false pred v)
|
||||
#`(unless (or (not v) (pred v))
|
||||
(raise-argument-error who #,(format "(or/c #f ~a)" (syntax->datum #'pred)) v))]
|
||||
(#%$app/no-inline raise-argument-error who #,(format "(or/c #f ~a)" (syntax->datum #'pred)) v))]
|
||||
[(_ who pred :or-false v)
|
||||
#`(unless (or (not v) (pred v))
|
||||
(raise-argument-error who #,(format "(or/c ~a #f)" (syntax->datum #'pred)) v))]
|
||||
(#%$app/no-inline raise-argument-error who #,(format "(or/c ~a #f)" (syntax->datum #'pred)) v))]
|
||||
[(_ who pred v)
|
||||
#`(check who pred :contract #,(format "~a" (syntax->datum #'pred)) v)]))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user