diff tests/simplestorerepo.py @ 52487:3daaa5195a30

typing: align the signatures of `repository.ifilestorage` overrides This is the same as 048c11993d6a for `imanifestrevisionstored`, with the same belated realization about missing the Protocol marker. Since I've been jumping around to the various subclasses and copying extant hints to places where they're missing, do that here too. This also covers the 3 interfaces subclassed by `repository.ifilestorage` (`repository.ifileindex`, `repository.ifiledata`, and `repository.ifilemutation`). Obviously the whole base class needs hints, but I don't want to get side tracked here- it doesn't look like any of the implementing classes have any additional hints.
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 23 Oct 2024 12:21:52 -0400
parents 4a332b233194
children ba8f03ad8906
line wrap: on
line diff
--- a/tests/simplestorerepo.py	Tue Dec 10 23:36:14 2024 -0500
+++ b/tests/simplestorerepo.py	Wed Oct 23 12:21:52 2024 -0400
@@ -14,6 +14,8 @@
 import stat
 
 from typing import (
+    Iterable,
+    Iterator,
     Optional,
 )
 
@@ -164,10 +166,10 @@
 
         self._index.append((0, 0, 0, -1, -1, -1, -1, self._repo.nullid))
 
-    def __len__(self):
+    def __len__(self) -> int:
         return len(self._indexdata)
 
-    def __iter__(self):
+    def __iter__(self) -> Iterator[int]:
         return iter(range(len(self)))
 
     def revs(self, start=0, stop=None):
@@ -431,7 +433,7 @@
             'storedsize': None,
         }
 
-    def verifyintegrity(self, state):
+    def verifyintegrity(self, state) -> Iterable[repository.iverifyproblem]:
         state['skipread'] = set()
         for rev in self:
             node = self.node(rev)