From 10ac122111f9022f9a2ae9b0f951880e310eb14a Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sat, 27 Apr 2013 20:40:42 -0500 Subject: [PATCH] fix a quoting error related to PR 13716 --- collects/racket/contract/private/struct-dc.rkt | 4 ++-- collects/tests/racket/contract-test.rktl | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/collects/racket/contract/private/struct-dc.rkt b/collects/racket/contract/private/struct-dc.rkt index 9b77329e85..4fe0dd8b4a 100644 --- a/collects/racket/contract/private/struct-dc.rkt +++ b/collects/racket/contract/private/struct-dc.rkt @@ -209,7 +209,7 @@ v] [else (unless (pred? v) - (raise-blame-error blame v '(expected: "~a" given: "~e") + (raise-blame-error blame v '(expected: "~a?" given: "~e") (base-struct/dc-struct-name ctc) v)) (let loop ([subcontracts (base-struct/dc-subcontracts ctc)] @@ -815,7 +815,7 @@ #`(build-struct/dc (list #,@structs) #,(list-ref info 2) - 'struct-id + '#,struct-id (quote-module-name) '#,struct-id #,struct/c?)) diff --git a/collects/tests/racket/contract-test.rktl b/collects/tests/racket/contract-test.rktl index f6ea7a7374..2085d082d9 100644 --- a/collects/tests/racket/contract-test.rktl +++ b/collects/tests/racket/contract-test.rktl @@ -9921,6 +9921,18 @@ ((flat-contract-predicate (struct/c doll 'center)) (doll 'not-center-center)))) '(#t #f)) + (contract-error-test + 'struct/c17 + #'(let () + (struct foo (v)) + (contract (struct/c foo number?) + #f + 'pos + 'neg)) + (λ (x) + (and (exn:fail:contract:blame? x) + (regexp-match #rx"promised: foo?" (exn-message x))))) + ; ;