diff --git a/mesonbuild/_typing.py b/mesonbuild/_typing.py index 7616ad600..d3cfa39d5 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 a5a19d992..b2f8f377c 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: