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
|
||||
'(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)])
|
||||
(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))
|
||||
|
|
|
@ -186,8 +186,7 @@
|
|||
s
|
||||
(for/fold
|
||||
([table (custom-set-table largest-immutable)])
|
||||
([s2 (in-list (cons s sets))]
|
||||
#:unless (eq? s2 largest-immutable))
|
||||
([s2 (in-list (remove largest-immutable (cons s sets)))])
|
||||
(for/fold ([table table]) ([x (in-hash-keys (custom-set-table s2))])
|
||||
(if (hash-ref table x #f)
|
||||
(hash-remove table x)
|
||||
|
|
Loading…
Reference in New Issue
Block a user