diff --git a/pkgs/racket-test/tests/racket/contract/promise.rkt b/pkgs/racket-test/tests/racket/contract/promise.rkt index 86be1c200a..000b0ebe01 100644 --- a/pkgs/racket-test/tests/racket/contract/promise.rkt +++ b/pkgs/racket-test/tests/racket/contract/promise.rkt @@ -69,4 +69,13 @@ a 'pos 'neg))) + #t) + + (test/spec-passed/result + 'promise/c7 + '(and (value-contract (contract (promise/c integer?) + (delay y) + 'pos + 'neg)) + #t) #t)) diff --git a/racket/collects/racket/contract/private/misc.rkt b/racket/collects/racket/contract/private/misc.rkt index c1212c8134..72d2ed469c 100644 --- a/racket/collects/racket/contract/private/misc.rkt +++ b/racket/collects/racket/contract/private/misc.rkt @@ -349,7 +349,9 @@ (values (λ (val) (with-contract-continuation-mark blame+neg-party (p-app val neg-party))) - promise))))) + promise)))) + impersonator-prop:contracted ctc + impersonator-prop:blame blame) (raise-blame-error blame #:missing-party neg-party val