diff -r d99a588d8515 -r 6309128ff61f mercurial/smartset.py --- a/mercurial/smartset.py Sat Oct 13 10:58:06 2018 +0200 +++ b/mercurial/smartset.py Sat Oct 13 11:01:38 2018 +0200 @@ -137,7 +137,7 @@ This is part of the mandatory API for smartset.""" # builtin cannot be cached. but do not needs to - if cache and util.safehasattr(condition, 'func_code'): + if cache and util.safehasattr(condition, '__code__'): condition = util.cachefunc(condition) return filteredset(self, condition, condrepr)