D7389: branchmap: annotate constructor type for branchcache
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Thu Nov 14 21:08:33 UTC 2019
durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
This type signature is...big. But it's correct as far as I can tell,
and it detected a bug.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D7389
AFFECTED FILES
mercurial/branchmap.py
CHANGE DETAILS
diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
--- a/mercurial/branchmap.py
+++ b/mercurial/branchmap.py
@@ -27,6 +27,23 @@
stringutil,
)
+if not globals():
+ from typing import (
+ Any,
+ Callable,
+ Dict,
+ Iterable,
+ List,
+ Optional,
+ Set,
+ Tuple,
+ Union,
+ )
+
+ assert any(
+ (Any, Callable, Dict, Iterable, List, Optional, Set, Tuple, Union,)
+ )
+
subsettable = repoviewutil.subsettable
calcsize = struct.calcsize
@@ -165,6 +182,7 @@
closednodes=None,
hasnode=None,
):
+ # type: (Union[Dict[bytes, List[bytes]], Iterable[Tuple[bytes, List[bytes]]]], bytes, int, Optional[bytes], Optional[Set[bytes]], Optional[Callable[[bytes], bool]]) -> None
""" hasnode is a function which can be used to verify whether changelog
has a given node or not. If it's not provided, we assume that every node
we have exists in changelog """
@@ -177,7 +195,7 @@
if closednodes is None:
self._closednodes = set()
else:
- self._closednodes = set(closednodes)
+ self._closednodes = closednodes
self._entries = dict(entries)
# whether closed nodes are verified or not
self._closedverified = False
To: durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list