--- a/mercurial/templatefilters.py Thu Dec 08 15:33:19 2022 +0100
+++ b/mercurial/templatefilters.py Thu Aug 31 23:56:15 2023 +0200
@@ -339,14 +339,14 @@
raise error.ProgrammingError(
b'Mercurial only does output with bytes: %r' % obj
)
- elif util.safehasattr(obj, 'keys'):
+ elif hasattr(obj, 'keys'):
out = [
b'"%s": %s'
% (encoding.jsonescape(k, paranoid=paranoid), json(v, paranoid))
for k, v in sorted(obj.items())
]
return b'{' + b', '.join(out) + b'}'
- elif util.safehasattr(obj, '__iter__'):
+ elif hasattr(obj, '__iter__'):
out = [json(i, paranoid) for i in obj]
return b'[' + b', '.join(out) + b']'
raise error.ProgrammingError(b'cannot encode %r' % obj)