diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2022-05-27 10:50:19 -0700 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2022-06-08 23:19:09 +0300 |
commit | c51639b4ff7c37511ea74d91b2d31f5f22092bdc (patch) | |
tree | 228e72703850986b6ec1ab6b2084e75c2cfeb74d | |
parent | 3dec0db06dfa2c73e3574ec063446c1f5da23355 (diff) | |
download | meson-c51639b4ff7c37511ea74d91b2d31f5f22092bdc.zip meson-c51639b4ff7c37511ea74d91b2d31f5f22092bdc.tar.gz meson-c51639b4ff7c37511ea74d91b2d31f5f22092bdc.tar.bz2 |
typing: replace ImmutableSetProtocol with typing.AbstractSet
Which does the same thing, but is a builtin and is more accurate
-rw-r--r-- | mesonbuild/_typing.py | 39 | ||||
-rw-r--r-- | mesonbuild/build.py | 8 |
2 files changed, 4 insertions, 43 deletions
diff --git a/mesonbuild/_typing.py b/mesonbuild/_typing.py index 7616ad6..d3cfa39 100644 --- a/mesonbuild/_typing.py +++ b/mesonbuild/_typing.py @@ -79,42 +79,3 @@ class ImmutableListProtocol(Protocol[T]): def index(self, item: T) -> int: ... def copy(self) -> typing.List[T]: ... - - -class ImmutableSetProtocol(Protocol[T]): - - """A protocol for a set that cannot be mutated. - - This provides for cases where mutation of the set is undesired. Although - this will be allowed at runtime, mypy (or another type checker), will see - any attempt to use mutative methods as an error. - """ - - def __iter__(self) -> typing.Iterator[T]: ... - - def __contains__(self, item: T) -> bool: ... - - def __len__(self) -> int: ... - - def __add__(self, other: typing.Set[T]) -> typing.Set[T]: ... - - def __eq__(self, other: typing.Any) -> bool: ... - def __ne__(self, other: typing.Any) -> bool: ... - def __le__(self, other: typing.Any) -> bool: ... - def __lt__(self, other: typing.Any) -> bool: ... - def __gt__(self, other: typing.Any) -> bool: ... - def __ge__(self, other: typing.Any) -> bool: ... - - def copy(self) -> typing.Set[T]: ... - - def difference(self, other: typing.Set[T]) -> typing.Set[T]: ... - - def intersection(self, other: typing.Set[T]) -> typing.Set[T]: ... - - def issubset(self, other: typing.Set[T]) -> bool: ... - - def issuperset(self, other: typing.Set[T]) -> bool: ... - - def symmetric_difference(self, other: typing.Set[T]) -> typing.Set[T]: ... - - def union(self, other: typing.Set[T]) -> typing.Set[T]: ... diff --git a/mesonbuild/build.py b/mesonbuild/build.py index a5a19d9..b2f8f37 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -47,7 +47,7 @@ from .interpreterbase import FeatureNew, FeatureDeprecated if T.TYPE_CHECKING: from typing_extensions import Literal - from ._typing import ImmutableListProtocol, ImmutableSetProtocol + from ._typing import ImmutableListProtocol from .backend.backends import Backend, ExecutableSerialisation from .interpreter.interpreter import Test, SourceOutputs, Interpreter from .interpreterbase import SubProject @@ -1086,7 +1086,7 @@ class BuildTarget(Target): return result @lru_cache(maxsize=None) - def get_link_dep_subdirs(self) -> 'ImmutableSetProtocol[str]': + def get_link_dep_subdirs(self) -> T.AbstractSet[str]: result: OrderedSet[str] = OrderedSet() for i in self.link_targets: if not isinstance(i, StaticLibrary): @@ -2573,7 +2573,7 @@ class CustomTarget(Target, CommandBase): def get_link_deps_mapping(self, prefix: str) -> T.Mapping[str, str]: return {} - def get_link_dep_subdirs(self): + def get_link_dep_subdirs(self) -> T.AbstractSet[str]: return OrderedSet() def get_all_link_deps(self): @@ -2765,7 +2765,7 @@ class CustomTargetIndex(HoldableObject): def get_link_deps_mapping(self, prefix: str) -> T.Mapping[str, str]: return self.target.get_link_deps_mapping(prefix) - def get_link_dep_subdirs(self): + def get_link_dep_subdirs(self) -> T.AbstractSet[str]: return self.target.get_link_dep_subdirs() def is_linkable_target(self) -> bool: |