diff --git a/pkgs/racket-test/tests/racket/contract/prof.rkt b/pkgs/racket-test/tests/racket/contract/prof.rkt index 77f60f59d0..42ae96b69e 100644 --- a/pkgs/racket-test/tests/racket/contract/prof.rkt +++ b/pkgs/racket-test/tests/racket/contract/prof.rkt @@ -370,4 +370,26 @@ (set-field! x o 2) (send o f))) + (test/spec-passed + 'contract-marks41 + '(contract (vectorof pos-blame? #:flat? #t) #(1 2 3) 'pos 'neg)) + + (test/spec-passed + 'contract-marks42 + '((vector-ref (contract (vectorof (-> pos-blame? neg-blame?)) (vector values) + 'pos 'neg) + 0) + 1)) + + (test/spec-passed + 'contract-marks43 + '(contract (vector/c pos-blame? #:flat? #t) #(1) 'pos 'neg)) + + (test/spec-passed + 'contract-marks42 + '((vector-ref (contract (vector/c (-> pos-blame? neg-blame?)) (vector values) + 'pos 'neg) + 0) + 1)) + ) diff --git a/racket/collects/racket/contract/private/vector.rkt b/racket/collects/racket/contract/private/vector.rkt index f0bcf66865..a547edf76d 100644 --- a/racket/collects/racket/contract/private/vector.rkt +++ b/racket/collects/racket/contract/private/vector.rkt @@ -365,14 +365,11 @@ (for/list ([c (in-list (base-vector/c-elems ctc))]) ((get/build-late-neg-projection c) blame+ctxt))) (λ (val neg-party) - (with-contract-continuation-mark - (cons blame neg-party) - (begin - (check-vector/c ctc val blame neg-party) - (for ([e (in-vector val)] - [p (in-list val+np-acceptors)]) - (p e neg-party)) - val))))))) + (check-vector/c ctc val blame neg-party) + (for ([e (in-vector val)] + [p (in-list val+np-acceptors)]) + (p e neg-party)) + val))))) (define (vector/c-ho-late-neg-projection vector-wrapper) (λ (ctc)