diff --git a/pkgs/racket-test/tests/racket/contract/parametric.rkt b/pkgs/racket-test/tests/racket/contract/parametric.rkt index 819d9a761d..1a3b065d65 100644 --- a/pkgs/racket-test/tests/racket/contract/parametric.rkt +++ b/pkgs/racket-test/tests/racket/contract/parametric.rkt @@ -70,4 +70,14 @@ (λ (x) (unless c (set! c x)) c) 'pos 'neg)]) (f 1) - (f 2)))) + (f 2))) + + (test/spec-passed/result + 'parametric->/c8 + '((contract + (parametric->/c (x) (-> #:x x x)) + (λ (#:x x) x) + 'pos 'neg) + #:x 11) + 11)) + diff --git a/racket/collects/racket/contract/private/parametric.rkt b/racket/collects/racket/contract/private/parametric.rkt index a599a51276..2fa504c15b 100644 --- a/racket/collects/racket/contract/private/parametric.rkt +++ b/racket/collects/racket/contract/private/parametric.rkt @@ -76,7 +76,7 @@ (raise-blame-error blame #:missing-party neg-party p '(expected "a procedure" given: "~e") p)) (make-keyword-procedure - (lambda (keys vals . args) (keyword-apply (wrap p) keys vals args)) + (lambda (keys vals . args) (keyword-apply (wrap p neg-party) keys vals args)) (case-lambda [() ((wrap p neg-party))] [(a) ((wrap p neg-party) a)]