You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The commit ed2632b introduced a change that breaks unicode scope items on Python 2:
>>> u'user' in ScopeList([u'user'])
[snipped]
File "scopelist.py", line 139, in <genexpr>
return all(o in self for o in item)
File "scopelist.py", line 138, in __contains__
if not isinstance(item, str) and isinstance(item, Iterable):
File "C:\Dev\py\env27\lib\abc.py", line 132, in __instancecheck__
if subclass is not None and subclass in cls._abc_cache:
File "C:\Dev\py\env27\lib\_weakrefset.py", line 75, in __contains__
return wr in self.data
RuntimeError: maximum recursion depth exceeded in cmp
It seems that takes a unicode type as an iterable of scope items, and doesn't make a special case for it as it does for str.
As part of the fix for this, the entire module should probably be updated to work correctly with unicode rather than str. That would include switching to unicode literals (which Python 3.3 and later support) and maybe rejecting bytes types outright, even on Python 2.
The text was updated successfully, but these errors were encountered:
The commit ed2632b introduced a change that breaks unicode scope items on Python 2:
It seems that takes a unicode type as an iterable of scope items, and doesn't make a special case for it as it does for str.
As part of the fix for this, the entire module should probably be updated to work correctly with unicode rather than str. That would include switching to unicode literals (which Python 3.3 and later support) and maybe rejecting bytes types outright, even on Python 2.
The text was updated successfully, but these errors were encountered: