diff --git a/pkgs/racket-test-core/tests/racket/set.rktl b/pkgs/racket-test-core/tests/racket/set.rktl index b01efb26aa..084d8fd574 100644 --- a/pkgs/racket-test-core/tests/racket/set.rktl +++ b/pkgs/racket-test-core/tests/racket/set.rktl @@ -667,6 +667,17 @@ (λ (s l) l))) ele)) +(test #t zero? + (let () + (define-custom-set-types set2 equal? equal-hash-code) + (set-first + (set-add (chaperone-hash-set + (make-immutable-set2) + (λ (a b) b) + (λ (a b) b) + (λ (a b) b)) + 0)))) + (let-values ([(impersonator-prop:p has-impersonator-prop:p? get-impersonator-prop:p) (make-impersonator-property 'p)]) (let ([s (chaperone-hash-set (set) (λ (s l) l) (λ (s l) l) (λ (s l) l) impersonator-prop:p 11)]) diff --git a/racket/collects/racket/private/set-types.rkt b/racket/collects/racket/private/set-types.rkt index a9c3ee96bf..ca6c3af38c 100644 --- a/racket/collects/racket/private/set-types.rkt +++ b/racket/collects/racket/private/set-types.rkt @@ -403,7 +403,7 @@ (values (rewrap a) b)) (λ (hash key val) (define-values (a b) - (c/i-hash-set-hash-set-proc hash key (custom-elem-contents key))) + (c/i-hash-set-hash-set-proc hash (custom-elem-contents key) val)) (values (rewrap a) b)) (λ (hash key) (rewrap (c/i-hash-set-hash-remove-proc hash (custom-elem-contents key))))