From 40089cce15cd566d615c3b5a5b6dc8706737b0a9 Mon Sep 17 00:00:00 2001 From: Stevie Strickland Date: Tue, 1 Jun 2010 12:23:05 -0400 Subject: [PATCH] Add a first-order check for recursive-contract. Closes PR 10946. --- collects/racket/contract/private/base.rkt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/collects/racket/contract/private/base.rkt b/collects/racket/contract/private/base.rkt index 9d75a8dc56..0b99ab60d0 100644 --- a/collects/racket/contract/private/base.rkt +++ b/collects/racket/contract/private/base.rkt @@ -50,6 +50,10 @@ improve method arity mismatch contract violation error messages? (syntax (make-contract #:name '(recursive-contract arg) + #:first-order + (λ (val) + (let ([ctc (coerce-contract 'recursive-contract arg)]) + (contract-first-order-passes? ctc val))) #:projection (λ (blame) (let ([ctc (coerce-contract 'recursive-contract arg)])