From 332535002682ceb8b3dbd4865e0241ba34d54fd3 Mon Sep 17 00:00:00 2001 From: Stevie Strickland Date: Sat, 18 Sep 2010 13:55:09 -0400 Subject: [PATCH] At Robby's request, remove the check for proxy-of?. Due to the bad interaction between procedure-rename and getting the contract info from the proxy/chaperone, this will cause a failure in the contract test cases. I'm submitting a bug report for that issue. --- collects/racket/contract/private/base.rkt | 1 - collects/tests/racket/contract-test.rktl | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/collects/racket/contract/private/base.rkt b/collects/racket/contract/private/base.rkt index 4c96c959e9..7498efa647 100644 --- a/collects/racket/contract/private/base.rkt +++ b/collects/racket/contract/private/base.rkt @@ -51,7 +51,6 @@ improve method arity mismatch contract violation error messages? (if (and name (not (parameter? new-val)) ;; when PR 11221 is fixed, remove this line (procedure? new-val) - (not (proxy-of? new-val v)) ;; proxies/chaperones handle this fine (not (eq? name (object-name new-val)))) (let ([name (if (symbol? name) name diff --git a/collects/tests/racket/contract-test.rktl b/collects/tests/racket/contract-test.rktl index 4c0e672dba..81a0c97b80 100644 --- a/collects/tests/racket/contract-test.rktl +++ b/collects/tests/racket/contract-test.rktl @@ -9929,6 +9929,8 @@ so that propagation occurs. (test ctc value-contract (contract ctc (λ (x [y 3]) x) 'pos 'neg))) (let ([ctc (->i ([x number?]) ([y number?]) [_ number?])]) (test ctc value-contract (contract ctc (λ (x [y 3]) x) 'pos 'neg))) + ;; currently fails due to procedure-rename interacting badly with + ;; chaperoned/proxied procedures (let ([ctc (unconstrained-domain-> number?)]) (test ctc value-contract (contract ctc (λ (x) 3) 'pos 'neg))) (let ([ctc (case-> (-> number? number? number?) (-> number? number?))])