Mercurial > public > mercurial-scm > hg-stable
diff mercurial/revlog.py @ 51788:278af66e6595
typing: induce pytype to use the standard `attr` instead of the vendored copy
What was previously happening with the vendored copy was that pytype would stub
out all(?) classes that were decorated with `@attr.s` as `Any`. After this, we
get a ton of classes defined, and numerous fields and methods now have proper
types.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 23 Jul 2024 19:20:22 -0400 |
parents | ca7bde5dbafb |
children | 71fb6e0a7a35 |
line wrap: on
line diff
--- a/mercurial/revlog.py Tue Jul 23 19:14:16 2024 -0400 +++ b/mercurial/revlog.py Tue Jul 23 19:20:22 2024 -0400 @@ -20,6 +20,7 @@ import io import os import struct +import typing import weakref import zlib @@ -74,6 +75,12 @@ REVIDX_RAWTEXT_CHANGING_FLAGS, ) from .thirdparty import attr + +# Force pytype to use the non-vendored package +if typing.TYPE_CHECKING: + # noinspection PyPackageRequirements + import attr + from . import ( ancestor, dagop,