Mercurial > public > mercurial-scm > hg
comparison mercurial/pycompat.py @ 50101:b900f40c343e
typing: disable `signature-mismatch` warnings on a few bytestr functions
Recent versions of pytype complain about this, but it seems like expected
behavior.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 19 Feb 2023 00:04:53 -0500 |
parents | c5a06cc37401 |
children | 0ab92dabea6e |
comparison
equal
deleted
inserted
replaced
50099:0f0880c8a7e5 | 50101:b900f40c343e |
---|---|
242 s, u'__bytes__' | 242 s, u'__bytes__' |
243 ): | 243 ): |
244 s = str(s).encode('ascii') | 244 s = str(s).encode('ascii') |
245 return bytes.__new__(cls, s) | 245 return bytes.__new__(cls, s) |
246 | 246 |
247 def __getitem__(self, key) -> bytes: | 247 # The base class uses `int` return in py3, but the point of this class is to |
248 # behave like py2. | |
249 def __getitem__(self, key) -> bytes: # pytype: disable=signature-mismatch | |
248 s = bytes.__getitem__(self, key) | 250 s = bytes.__getitem__(self, key) |
249 if not isinstance(s, bytes): | 251 if not isinstance(s, bytes): |
250 s = bytechr(s) | 252 s = bytechr(s) |
251 return s | 253 return s |
252 | 254 |
253 def __iter__(self) -> Iterator[bytes]: | 255 # The base class expects `Iterator[int]` return in py3, but the point of |
256 # this class is to behave like py2. | |
257 def __iter__(self) -> Iterator[bytes]: # pytype: disable=signature-mismatch | |
254 return iterbytestr(bytes.__iter__(self)) | 258 return iterbytestr(bytes.__iter__(self)) |
255 | 259 |
256 def __repr__(self) -> str: | 260 def __repr__(self) -> str: |
257 return bytes.__repr__(self)[1:] # drop b'' | 261 return bytes.__repr__(self)[1:] # drop b'' |
258 | 262 |