Skip to content

Commit

Permalink
Fix intransitive subtyping issue with SupportsGetItem (#8785)
Browse files Browse the repository at this point in the history
See python/mypy#13713 for details
  • Loading branch information
hauntsaninja authored Sep 23, 2022
1 parent 4746f9b commit 2969922
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
5 changes: 3 additions & 2 deletions stdlib/_typeshed/__init__.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import ctypes
import mmap
import pickle
import sys
from collections.abc import Awaitable, Callable, Container, Iterable, Set as AbstractSet
from collections.abc import Awaitable, Callable, Iterable, Set as AbstractSet
from os import PathLike
from types import FrameType, TracebackType
from typing import Any, AnyStr, Generic, Protocol, TypeVar, Union
Expand Down Expand Up @@ -118,7 +118,8 @@ class SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):
def __getitem__(self, __key: _KT) -> _VT_co: ...

# stable
class SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):
class SupportsGetItem(Protocol[_KT_contra, _VT_co]):
def __contains__(self, __x: object) -> bool: ...
def __getitem__(self, __key: _KT_contra) -> _VT_co: ...

# stable
Expand Down
1 change: 1 addition & 0 deletions stdlib/typing.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,7 @@ class AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):

@runtime_checkable
class Container(Protocol[_T_co]):
# This is generic more on vibes than anything else
@abstractmethod
def __contains__(self, __x: object) -> bool: ...

Expand Down

0 comments on commit 2969922

Please # to comment.