diff options
author | Benjamin Peterson <benjamin@python.org> | 2014-08-17 23:26:58 -0500 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2014-08-17 23:26:58 -0500 |
commit | 98db7f7696b9fbe9eb6ccd1c8fc8b4d880709c07 (patch) | |
tree | 029eae0d037e3e0059b21b902d37fd97579a1915 /six.py | |
parent | 72cc15e87ca8d54f0a5d37204994cc4fa9eac2ad (diff) | |
download | six-git-98db7f7696b9fbe9eb6ccd1c8fc8b4d880709c07.tar.gz |
fix add_metaclass when there is a __weakref__ or __dict__ slot (closes #88)
Diffstat (limited to 'six.py')
-rw-r--r-- | six.py | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -719,14 +719,14 @@ def add_metaclass(metaclass): """Class decorator for creating a class with a metaclass.""" def wrapper(cls): orig_vars = cls.__dict__.copy() - orig_vars.pop('__dict__', None) - orig_vars.pop('__weakref__', None) slots = orig_vars.get('__slots__') if slots is not None: if isinstance(slots, str): slots = [slots] for slots_var in slots: orig_vars.pop(slots_var) + orig_vars.pop('__dict__', None) + orig_vars.pop('__weakref__', None) return metaclass(cls.__name__, cls.__bases__, orig_vars) return wrapper |