changeset 43881:b5655f337bd7

typing: add a couple of assertions to lrucachedict to help pytype Fixes the following warnings: line 1488, in pop: No attribute 'markempty' on None [attribute-error] In Optional[Union[Any, _lrucachenode, nothing]] line 1578, in popoldest: No attribute 'markempty' on None [attribute-error] In Optional[Union[Any, _lrucachenode, nothing]] Differential Revision: https://phab.mercurial-scm.org/D7674
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 15 Dec 2019 21:28:30 -0500
parents eff050dbb703
children a21a6dad4b38
files mercurial/util.py
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/util.py	Sun Dec 15 21:26:21 2019 -0500
+++ b/mercurial/util.py	Sun Dec 15 21:28:30 2019 -0500
@@ -1480,6 +1480,8 @@
             if default is _notset:
                 raise
             return default
+
+        assert node is not None  # help pytype
         value = node.value
         self.totalcost -= node.cost
         node.markempty()
@@ -1567,6 +1569,8 @@
         while n.key is _notset:
             n = n.prev
 
+        assert n is not None  # help pytype
+
         key, value = n.key, n.value
 
         # And remove it from the cache and mark it as empty.