--- a/mercurial/repoview.py Fri Apr 23 18:30:53 2021 +0200
+++ b/mercurial/repoview.py Sat Apr 24 16:30:05 2021 +0200
@@ -464,9 +464,10 @@
return delattr(self._unfilteredrepo, attr)
-# Python <3.4 easily leaks types via __mro__. See
-# https://bugs.python.org/issue17950. We cache dynamically created types
-# so they won't be leaked on every invocation of repo.filtered().
+# Dynamically created classes introduce memory cycles via __mro__. See
+# https://bugs.python.org/issue17950.
+# This need of the garbage collector can turn into memory leak in
+# Python <3.4, which is the first version released with PEP 442.
_filteredrepotypes = weakref.WeakKeyDictionary()