From cc25a27f8711f96a584e4f1fb66cca22091aff18 Mon Sep 17 00:00:00 2001 From: Milo Turner Date: Wed, 24 May 2017 13:50:12 -0400 Subject: [PATCH] fix id-set-symmetric-difference, same as 4716a6e fixed for sets --- pkgs/racket-test-core/tests/racket/id-set-test.rktl | 4 ++++ racket/collects/syntax/private/id-set.rkt | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-test-core/tests/racket/id-set-test.rktl b/pkgs/racket-test-core/tests/racket/id-set-test.rktl index 3809e9f965..9394487bb9 100644 --- a/pkgs/racket-test-core/tests/racket/id-set-test.rktl +++ b/pkgs/racket-test-core/tests/racket/id-set-test.rktl @@ -322,6 +322,10 @@ (define ABCDE/MUTABLE (mk-mutable-id-set ABCDE-LIST)) (define ABCDE/IMMUTABLE (mk-immutable-id-set ABCDE-LIST)) + (test 0 SET-COUNT + (SET-SYMMETRIC-DIFFERENCE ABCDE/IMMUTABLE ABCDE/IMMUTABLE)) + (test 0 SET-COUNT + (SET-SYMMETRIC-DIFFERENCE ABCDE/IMMUTABLE (mk-immutable-id-set ABCDE-LIST))) (test 5 SET-COUNT (SET-SYMMETRIC-DIFFERENCE ABCDE/IMMUTABLE)) (test #t SET-EMPTY? (SET-SYMMETRIC-DIFFERENCE EMPTY/IMMUTABLE)) (test 4 SET-COUNT (SET-SYMMETRIC-DIFFERENCE EMPTY/IMMUTABLE ABCD)) diff --git a/racket/collects/syntax/private/id-set.rkt b/racket/collects/syntax/private/id-set.rkt index ac1b4baec3..bfc5f48071 100644 --- a/racket/collects/syntax/private/id-set.rkt +++ b/racket/collects/syntax/private/id-set.rkt @@ -277,7 +277,7 @@ (immutable-id-set (for/fold ([table (id-set-get-table largest-immutable)]) - ([s (in-list (cons set0 ss))] #:unless (eq? s largest-immutable)) + ([s (in-list (remq largest-immutable (cons set0 ss)))]) (for/fold ([table table]) ([id (in-dict-keys (id-set-get-table s))]) (if (id-table-ref table id #f)