typing: fix return type of logcmdutil.getrevs()
authorYuya Nishihara <yuya@tcha.org>
Tue, 19 Nov 2019 23:53:12 +0900
changeset 43774 064c9a4ced4a
parent 43773 7b14d649af1b
child 43775 b5f183eedd98
typing: fix return type of logcmdutil.getrevs() Fixes the following errors: Invalid type annotation "'Tuple[smartset.BaseSet, changesetdiffer]'" [invalid-annotation] No attribute 'BaseSet' on module 'mercurial.smartset' getrevs: bad option in return type [bad-return-type] Expected: Tuple[mercurial.smartset.abstractsmartset, changesetdiffer] Actually returned: Tuple[mercurial.smartset.baseset, None]
mercurial/logcmdutil.py
--- a/mercurial/logcmdutil.py	Tue Nov 19 23:49:05 2019 +0900
+++ b/mercurial/logcmdutil.py	Tue Nov 19 23:53:12 2019 +0900
@@ -45,10 +45,11 @@
 if pycompat.TYPE_CHECKING:
     from typing import (
         Any,
+        Optional,
         Tuple,
     )
 
-    for t in (Any, Tuple):
+    for t in (Any, Optional, Tuple):
         assert t
 
 
@@ -853,7 +854,7 @@
 
 
 def getrevs(repo, pats, opts):
-    # type: (Any, Any, Any) -> Tuple[smartset.BaseSet, changesetdiffer]
+    # type: (Any, Any, Any) -> Tuple[smartset.abstractsmartset, Optional[changesetdiffer]]
     """Return (revs, differ) where revs is a smartset
 
     differ is a changesetdiffer with pre-configured file matcher.