diff options
Diffstat (limited to 'dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch')
-rw-r--r-- | dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch b/dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch new file mode 100644 index 000000000000..63cee6cb4115 --- /dev/null +++ b/dev-python/jaraco-collections/files/jaraco-collections-3.0.0-pypy.patch @@ -0,0 +1,30 @@ +diff --git a/jaraco/collections.py b/jaraco/collections.py +index 3ab9dc9..6a6e342 100644 +--- a/jaraco/collections.py ++++ b/jaraco/collections.py +@@ -4,6 +4,7 @@ import collections.abc + import itertools + import copy + import functools ++import platform + + from jaraco.classes.properties import NonDataProperty + import jaraco.text +@@ -592,9 +593,14 @@ class DictStack(list, collections.abc.Mapping): + return list(set(itertools.chain.from_iterable(c.keys() for c in self))) + + def __getitem__(self, key): +- for scope in reversed(self): +- if key in scope: +- return scope[key] ++ if 'PyPy' in platform.python_implementation(): ++ for scope in reversed(list(self)): ++ if key in scope: ++ return scope[key] ++ else: ++ for scope in reversed(self): ++ if key in scope: ++ return scope[key] + raise KeyError(key) + + push = list.append |