diff --git a/collects/racket/contract/private/arr-i-parse.rkt b/collects/racket/contract/private/arr-i-parse.rkt index a8d4e0f477..36f9797ce3 100644 --- a/collects/racket/contract/private/arr-i-parse.rkt +++ b/collects/racket/contract/private/arr-i-parse.rkt @@ -297,7 +297,7 @@ code does the parsing and validation of the syntax. [[_ (id2 ...) ctc] (begin (for-each (λ (x) (check-id stx x)) (syntax->list #'(id2 ...))) - (list (eres #'id (syntax->list #'(id2 ...)) #'ctc (car (generate-temporaries '(eres))))))] + (list (eres #'_ (syntax->list #'(id2 ...)) #'ctc (car (generate-temporaries '(eres))))))] [[id (id2 ...) ctc] (begin (check-id stx #'id) diff --git a/collects/tests/racket/contract-test.rktl b/collects/tests/racket/contract-test.rktl index 5e897047bb..4b8ca99aea 100644 --- a/collects/tests/racket/contract-test.rktl +++ b/collects/tests/racket/contract-test.rktl @@ -12642,6 +12642,14 @@ so that propagation occurs. 'pos 'neg)))) + (ctest '("the _ result of") + extract-context-lines + (λ () ((contract (->i ([x integer?]) [_ (x) (<=/c x)]) + add1 + 'pos + 'neg) + 1))) + (ctest '("the a argument of") extract-context-lines (λ () ((contract (->i ([a integer?] #:b [b integer?]) ([c integer?] #:d [d integer?]) any)