diff --git a/stdlib/2/__builtin__.pyi b/stdlib/2/__builtin__.pyi index 41df94608cf0..a4d6b03625f4 100644 --- a/stdlib/2/__builtin__.pyi +++ b/stdlib/2/__builtin__.pyi @@ -385,7 +385,8 @@ else: def __ge__(self, x: unicode) -> bool: ... def __len__(self) -> int: ... - def __contains__(self, s: object) -> bool: ... + # The argument type is incompatible with Sequence + def __contains__(self, s: Union[unicode, bytes]) -> bool: ... # type: ignore def __iter__(self) -> Iterator[unicode]: ... def __str__(self) -> str: ... def __repr__(self) -> str: ... @@ -520,7 +521,8 @@ class str(Sequence[str], _str_base): def __add__(self, s: str) -> str: ... else: def __add__(self, s: AnyStr) -> AnyStr: ... - def __contains__(self, o: object) -> bool: ... + # Incompatible with Sequence.__contains__ + def __contains__(self, o: Union[str, Text]) -> bool: ... # type: ignore def __eq__(self, x: object) -> bool: ... def __ge__(self, x: Text) -> bool: ... def __getitem__(self, i: Union[int, slice]) -> str: ... @@ -622,7 +624,8 @@ if sys.version_info >= (3,): def __rmul__(self, n: int) -> bytes: ... if sys.version_info >= (3, 5): def __mod__(self, value: Any) -> bytes: ... - def __contains__(self, o: object) -> bool: ... + # Incompatible with Sequence.__contains__ + def __contains__(self, o: Union[int, bytes]) -> bool: ... # type: ignore def __eq__(self, x: object) -> bool: ... def __ne__(self, x: object) -> bool: ... def __lt__(self, x: bytes) -> bool: ... @@ -754,7 +757,8 @@ class bytearray(MutableSequence[int], ByteString): def __imul__(self, n: int) -> bytearray: ... if sys.version_info >= (3, 5): def __mod__(self, value: Any) -> bytes: ... - def __contains__(self, o: object) -> bool: ... + # Incompatible with Sequence.__contains__ + def __contains__(self, o: Union[int, bytes]) -> bool: ... # type: ignore def __eq__(self, x: object) -> bool: ... def __ne__(self, x: object) -> bool: ... def __lt__(self, x: bytes) -> bool: ... diff --git a/stdlib/2and3/builtins.pyi b/stdlib/2and3/builtins.pyi index 41df94608cf0..a4d6b03625f4 100644 --- a/stdlib/2and3/builtins.pyi +++ b/stdlib/2and3/builtins.pyi @@ -385,7 +385,8 @@ else: def __ge__(self, x: unicode) -> bool: ... def __len__(self) -> int: ... - def __contains__(self, s: object) -> bool: ... + # The argument type is incompatible with Sequence + def __contains__(self, s: Union[unicode, bytes]) -> bool: ... # type: ignore def __iter__(self) -> Iterator[unicode]: ... def __str__(self) -> str: ... def __repr__(self) -> str: ... @@ -520,7 +521,8 @@ class str(Sequence[str], _str_base): def __add__(self, s: str) -> str: ... else: def __add__(self, s: AnyStr) -> AnyStr: ... - def __contains__(self, o: object) -> bool: ... + # Incompatible with Sequence.__contains__ + def __contains__(self, o: Union[str, Text]) -> bool: ... # type: ignore def __eq__(self, x: object) -> bool: ... def __ge__(self, x: Text) -> bool: ... def __getitem__(self, i: Union[int, slice]) -> str: ... @@ -622,7 +624,8 @@ if sys.version_info >= (3,): def __rmul__(self, n: int) -> bytes: ... if sys.version_info >= (3, 5): def __mod__(self, value: Any) -> bytes: ... - def __contains__(self, o: object) -> bool: ... + # Incompatible with Sequence.__contains__ + def __contains__(self, o: Union[int, bytes]) -> bool: ... # type: ignore def __eq__(self, x: object) -> bool: ... def __ne__(self, x: object) -> bool: ... def __lt__(self, x: bytes) -> bool: ... @@ -754,7 +757,8 @@ class bytearray(MutableSequence[int], ByteString): def __imul__(self, n: int) -> bytearray: ... if sys.version_info >= (3, 5): def __mod__(self, value: Any) -> bytes: ... - def __contains__(self, o: object) -> bool: ... + # Incompatible with Sequence.__contains__ + def __contains__(self, o: Union[int, bytes]) -> bool: ... # type: ignore def __eq__(self, x: object) -> bool: ... def __ne__(self, x: object) -> bool: ... def __lt__(self, x: bytes) -> bool: ...