# HG changeset patch # User Pierre-Yves David # Date 1675355731 -3600 # Node ID 80b37d26097f9009a666e1c7906331d7619435f4 # Parent aea55f2a48b3eb26e5d2ee2ed4e5290e8d4f2d38 safehasattr: pass attribute name as string instead of bytes This is a step toward replacing `util.safehasattr` usage with plain `hasattr`. The builtin function behave poorly in Python2 but this was fixed in Python3. These change are done one by one as they tend to have a small odd to trigger puzzling breackage. diff -r aea55f2a48b3 -r 80b37d26097f mercurial/smartset.py --- a/mercurial/smartset.py Thu Feb 02 17:35:09 2023 +0100 +++ b/mercurial/smartset.py Thu Feb 02 17:35:31 2023 +0100 @@ -668,7 +668,7 @@ # try to use our own fast iterator if it exists self._trysetasclist() if self._ascending: - attr = b'fastasc' + attr = 'fastasc' else: attr = b'fastdesc' it = getattr(self, attr)