| 1 | Make PeachPy processes deterministic:
|
| 2 |
|
| 3 | https://github.com/Maratyszcza/PeachPy/issues/88
|
| 4 | https://issues.guix.gnu.org/50672
|
| 5 |
|
| 6 | diff --git a/peachpy/name.py b/peachpy/name.py
|
| 7 | index b6a03dc..412079d 100644
|
| 8 | |
| 9 | |
| 10 | @@ -86,13 +86,13 @@ def add_scoped_name(self, scoped_name):
|
| 11 | self.names[scope_name.name] = scope
|
| 12 | else:
|
| 13 | assert scope_name.name is None
|
| 14 | - self.prenames.setdefault(scope_name.prename, set())
|
| 15 | + self.prenames.setdefault(scope_name.prename, {})
|
| 16 | if subscoped_name:
|
| 17 | for subscope in iter(self.prenames[scope_name.prename]):
|
| 18 | if isinstance(subscope, Namespace) and subscope.scope_name is scope_name:
|
| 19 | subscope.add_scoped_name(subscoped_name)
|
| 20 | return
|
| 21 | - self.prenames[scope_name.prename].add(scope)
|
| 22 | + self.prenames[scope_name.prename][scope] = None
|
| 23 |
|
| 24 | def assign_names(self):
|
| 25 | # Step 1: assign names to symbols with prenames with no conflicts
|