diff --git a/collects/mzlib/contract.ss b/collects/mzlib/contract.ss index 31fc9d7..0359dde 100644 --- a/collects/mzlib/contract.ss +++ b/collects/mzlib/contract.ss @@ -2142,7 +2142,8 @@ add structu contracts for immutable structs? (for-each (lambda (name) (unless (identifier? name) (raise-syntax-error 'flat-rec-contract - "expected an identifier" stx name))))] + "expected an identifier" stx name))) + (syntax->list (syntax (name ...))))] [(_ ([name ctc ...] ...)) (raise-syntax-error 'flat-rec-contract "expected at least one body expression" stx)])) diff --git a/collects/tests/mzscheme/contract-test.ss b/collects/tests/mzscheme/contract-test.ss index 06a1241..8cc3b2b 100644 --- a/collects/tests/mzscheme/contract-test.ss +++ b/collects/tests/mzscheme/contract-test.ss @@ -1943,6 +1943,9 @@ even1) '(1 2 3 4) '(1 2 3)) + (syntax-test #'(flat-murec-contract ([(x) y]) x)) ;; malformed binder + (syntax-test #'(flat-murec-contract ([x y]))) ;; missing body + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;