Fix set-symmetric-difference when passed the same set multiple times.
Closes #1403.
This commit is contained in:
parent
b3b16b36a1
commit
4716a6eb00
|
@ -139,6 +139,9 @@
|
||||||
'set-symmetric-difference/list
|
'set-symmetric-difference/list
|
||||||
'(1 3))
|
'(1 3))
|
||||||
|
|
||||||
|
(test #t equal? (set) (let ([a (set 1 2 3)]) (set-symmetric-difference a a)))
|
||||||
|
(test #t equal? (set) (let ([a (set 1 2 3)] [b (set 1 2 3)]) (set-symmetric-difference a b)))
|
||||||
|
|
||||||
(let ([s (set 1 2 3)])
|
(let ([s (set 1 2 3)])
|
||||||
(test #t equal? s (set-add (set-add (set-add (set) 1) 2) 3))
|
(test #t equal? s (set-add (set-add (set-add (set) 1) 2) 3))
|
||||||
(test #t equal? (seteq 1 2 3) (seteq 1 2 3))
|
(test #t equal? (seteq 1 2 3) (seteq 1 2 3))
|
||||||
|
|
|
@ -186,8 +186,7 @@
|
||||||
s
|
s
|
||||||
(for/fold
|
(for/fold
|
||||||
([table (custom-set-table largest-immutable)])
|
([table (custom-set-table largest-immutable)])
|
||||||
([s2 (in-list (cons s sets))]
|
([s2 (in-list (remove largest-immutable (cons s sets)))])
|
||||||
#:unless (eq? s2 largest-immutable))
|
|
||||||
(for/fold ([table table]) ([x (in-hash-keys (custom-set-table s2))])
|
(for/fold ([table table]) ([x (in-hash-keys (custom-set-table s2))])
|
||||||
(if (hash-ref table x #f)
|
(if (hash-ref table x #f)
|
||||||
(hash-remove table x)
|
(hash-remove table x)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user