Make for raise better error message if binding clauses are bad.
Closes PR 13272.
This commit is contained in:
parent
8e22b22630
commit
29b1ac70df
|
@ -442,4 +442,7 @@
|
||||||
(err/rt-test (begin (for/fold ([x 1] [y 2]) ([i (in-range 10)]) 1) 1) #rx".*expected number of values not received.*")
|
(err/rt-test (begin (for/fold ([x 1] [y 2]) ([i (in-range 10)]) 1) 1) #rx".*expected number of values not received.*")
|
||||||
(test 1 'one (begin (for/fold () () (values)) 1))
|
(test 1 'one (begin (for/fold () () (values)) 1))
|
||||||
|
|
||||||
|
;; for/fold syntax checking
|
||||||
|
(syntax-test #'(for/fold () bad 1) #rx".*bad sequence binding clauses.*")
|
||||||
|
|
||||||
(report-errs)
|
(report-errs)
|
||||||
|
|
|
@ -1325,6 +1325,9 @@
|
||||||
(if d
|
(if d
|
||||||
(syntax-property r 'disappeared-use d)
|
(syntax-property r 'disappeared-use d)
|
||||||
r)))]
|
r)))]
|
||||||
|
[(_ [orig-stx . _] for-bind clauses . _)
|
||||||
|
(not (syntax->list #'clauses))
|
||||||
|
(raise-syntax-error #f "bad sequence binding clauses" #'orig-stx #'clauses)]
|
||||||
[(_ [orig-stx . _] . _)
|
[(_ [orig-stx . _] . _)
|
||||||
(raise-syntax-error #f "bad syntax" #'orig-stx)]))
|
(raise-syntax-error #f "bad syntax" #'orig-stx)]))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user