From 487362e29ca6a7cbbbb9e1d5e1aa1859ec8e92cf Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Mon, 8 Mar 2021 16:06:16 -0600
Subject: [PATCH] Use unordered_hash in KeyBuilder hashing frozenset

---
 pytools/persistent_dict.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/pytools/persistent_dict.py b/pytools/persistent_dict.py
index 7836b44..f4d3bf2 100644
--- a/pytools/persistent_dict.py
+++ b/pytools/persistent_dict.py
@@ -292,8 +292,13 @@ class KeyBuilder:
             self.rec(key_hash, obj_i)
 
     def update_for_frozenset(self, key_hash, key):
-        for set_key in sorted(key):
-            self.rec(key_hash, set_key)
+        from pytools import unordered_hash
+
+        self.rec(key_hash,
+                unordered_hash(
+                    self.new_hash,
+                    (self.rec(self.new_hash(), key_i).digest() for key_i in key)
+                    ).digest())
 
     @staticmethod
     def update_for_NoneType(key_hash, key):  # noqa
-- 
GitLab