diff --git a/pkgs/racket-test/tests/racket/contract/box.rkt b/pkgs/racket-test/tests/racket/contract/box.rkt index 91ca9da9c9..79e3637878 100644 --- a/pkgs/racket-test/tests/racket/contract/box.rkt +++ b/pkgs/racket-test/tests/racket/contract/box.rkt @@ -173,4 +173,16 @@ (box (list values)) 'pos 'neg)]) - ((car (unbox f)) 3)))) + ((car (unbox f)) 3))) + + (test/no-error + '(contract (box/c any/c #:immutable #f) (box 1) 'pos 'neg)) + + (test/spec-passed/result + 'box/c-immutable-f2 + '(unbox (contract (box/c any/c #:immutable #f) (box 1) 'pos 'neg)) + 1) + + (test/pos-blame + 'box/c-immutable-t + '(contract (box/c any/c #:immutable #f) (box-immutable 1) 'pos 'neg))) diff --git a/racket/collects/racket/contract/private/box.rkt b/racket/collects/racket/contract/private/box.rkt index a28bf4b48b..41c0e74521 100644 --- a/racket/collects/racket/contract/private/box.rkt +++ b/racket/collects/racket/contract/private/box.rkt @@ -39,7 +39,7 @@ val '(expected "an immutable box" given: "~e") val))])] [(#f) (cond - [(immutable? val) #F] + [(not (immutable? val)) #f] [else (λ (neg-party) (raise-blame-error blame #:missing-party neg-party