From 41a890df034267f9fd21f9ef2a21bab359796829 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 7 Jun 2012 10:44:24 -0500 Subject: [PATCH] fix bug in the ->i parser (picked up the wrong identifier; wrote #'id when id wasn't really around anywhere) closes PR 12829 --- collects/racket/contract/private/arr-i-parse.rkt | 2 +- collects/tests/racket/contract-test.rktl | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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)