Created
April 5, 2020 19:49
-
-
Save bryanforbes/024ad256677d07faff0ed4dc5c5dd21a to your computer and use it in GitHub Desktop.
Reproduction for mypy 8481
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from .user import User as User, ClientUser as ClientUser | |
from .channel import * | |
from .message import Message as Message | |
from . import abc |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import abc | |
from .message import Message | |
from typing import Optional, Any | |
from typing_extensions import Protocol, runtime | |
class GuildChannel: ... | |
class Messageable(metaclass=abc.ABCMeta): | |
async def send( | |
self, | |
content=None, | |
*, | |
tts=False, | |
embed=None, | |
file=None, | |
files=None, | |
delete_after=None, | |
nonce=None, | |
allowed_mentions=None | |
) -> Message: ... | |
@runtime | |
class User(Protocol): | |
name: str | |
discriminator: str | |
avatar: Optional[str] | |
bot: bool | |
@property | |
@abc.abstractmethod | |
def display_name(self) -> str: ... | |
@property | |
@abc.abstractmethod | |
def mention(self) -> str: ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import repro.abc | |
from .message import Message | |
from .user import BaseUser, User, ClientUser | |
from typing import Optional, Any, List | |
class TextChannel(repro.abc.Messageable): ... | |
class DMChannel(repro.abc.Messageable): | |
recipient: User | |
me: ClientUser | |
def permissions_for(self, user: Optional[BaseUser] = ...) -> Any: ... | |
class GroupChannel(repro.abc.Messageable): | |
me: ClientUser | |
owner: User | |
def permissions_for(self, user: BaseUser) -> Any: ... | |
async def add_recipients(self, *recipients: User) -> None: ... | |
async def remove_recipients(self, *recipients: User) -> None: ... | |
class CategoryChannel(repro.abc.GuildChannel): ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from .channel import TextChannel, DMChannel, GroupChannel | |
from typing import Union | |
class Message: | |
channel: Union[TextChannel, DMChannel, GroupChannel] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import repro.abc | |
from .message import Message | |
from typing import Optional, Any, List | |
_BaseUser = repro.abc.User | |
class BaseUser(_BaseUser): | |
name: str | |
discriminator: str | |
avatar: Optional[str] | |
bot: bool | |
@property | |
def mention(self) -> str: ... | |
@property | |
def display_name(self) -> str: ... | |
class ClientUser(BaseUser): | |
@property | |
def friends(self) -> List[User]: ... | |
@property | |
def blocked(self) -> List[User]: ... | |
class User(BaseUser, repro.abc.Messageable): ... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment