Mercurial > hg
changeset 48912:a0674e916fb6
worker: silence type error when calling pickle
pytype is complaining that the argument to `pickle.load()` is not an
`IO`. pytype isn't wrong: `_blockingreader` doesn't implement
`io.RawIOBase`, only `read()` and `readline()`. But it appears this is
enough for pickle. So we silence the false positive.
This fixes a regression introduced by D12304 /
cc0e059d2af8: worker: remove Python 2 support code.
Differential Revision: https://phab.mercurial-scm.org/D12337
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 03 Mar 2022 17:39:20 -0800 |
parents | 46b3ecfb16e2 |
children | f254fc73d956 |
files | mercurial/worker.py |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/worker.py Mon Feb 21 10:53:09 2022 -0700 +++ b/mercurial/worker.py Thu Mar 03 17:39:20 2022 -0800 @@ -279,7 +279,11 @@ while openpipes > 0: for key, events in selector.select(): try: + # The pytype error likely goes away on a modern version of + # pytype having a modern typeshed snapshot. + # pytype: disable=wrong-arg-types res = pickle.load(_blockingreader(key.fileobj)) + # pytype: enable=wrong-arg-types if hasretval and res[0]: retval.update(res[1]) else: