mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
82 lines
1.3 KiB
Python
82 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING, overload
|
|
|
|
if TYPE_CHECKING:
|
|
from typing import Any
|
|
|
|
|
|
@overload
|
|
def sum(x: int, y: int = 0) -> int: ...
|
|
|
|
|
|
@overload
|
|
def sum(x: float, y: float = 0.0) -> float: ...
|
|
|
|
|
|
@overload
|
|
def sum(x: str, y: str = ...) -> str: ...
|
|
|
|
|
|
def sum(x, y=None):
|
|
"""docstring"""
|
|
return x + y
|
|
|
|
|
|
class Math:
|
|
"""docstring"""
|
|
|
|
@overload
|
|
def sum(self, x: int, y: int = 0) -> int: ...
|
|
|
|
@overload
|
|
def sum(self, x: float, y: float = 0.0) -> float: ...
|
|
|
|
@overload
|
|
def sum(self, x: str, y: str = ...) -> str: ...
|
|
|
|
def sum(self, x, y=None):
|
|
"""docstring"""
|
|
return x + y
|
|
|
|
|
|
class Foo:
|
|
"""docstring"""
|
|
|
|
@overload
|
|
def __new__(cls, x: int, y: int) -> Foo: ...
|
|
|
|
@overload
|
|
def __new__(cls, x: str, y: str) -> Foo: ...
|
|
|
|
def __new__(cls, x, y):
|
|
pass
|
|
|
|
|
|
class Bar:
|
|
"""docstring"""
|
|
|
|
@overload
|
|
def __init__(cls, x: int, y: int) -> None: ...
|
|
|
|
@overload
|
|
def __init__(cls, x: str, y: str) -> None: ...
|
|
|
|
def __init__(cls, x, y):
|
|
pass
|
|
|
|
|
|
class Meta(type):
|
|
@overload
|
|
def __call__(cls, x: int, y: int) -> Any: ...
|
|
|
|
@overload
|
|
def __call__(cls, x: str, y: str) -> Any: ...
|
|
|
|
def __call__(cls, x, y):
|
|
pass
|
|
|
|
|
|
class Baz(metaclass=Meta):
|
|
"""docstring"""
|