Skip to content

typing Add fake classes to typing module (Issue #190) #297

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions typing/typing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
class Any: pass
class NoReturn: pass
class ClassVar: pass
class Union: pass
class Optional: pass
class Generic: pass
class NamedTuple: pass
class Hashable: pass
class Awaitable: pass
class Coroutine: pass
class AsyncIterable: pass
class AsyncIterator: pass
class Iterable: pass
class Iterator: pass
class Reversible: pass
class Sized: pass
class Container: pass
class Collection: pass
class Callable: pass
class AbstractSet: pass
class MutableSet: pass
class Mapping: pass
class MutableMapping: pass
class Sequence: pass
class MutableSequence: pass
class ByteString: pass
class Tuple: pass
class List: pass
class Deque: pass
class Set: pass
class FrozenSet: pass
class MappingView: pass
class KeysView: pass
class ItemsView: pass
class ValuesView: pass
class ContextManager: pass
class AsyncContextManager: pass
class Dict: pass
class DefaultDict: pass
class Counter: pass
class ChainMap: pass
class Generator: pass
class AsyncGenerator: pass
class Type: pass


def cast(typ, val):
return val


def _overload_dummy(*args, **kwds):
"""Helper for @overload to raise when called."""
raise NotImplementedError(
"You should not call an overloaded function. "
"A series of @overload-decorated functions "
"outside a stub module should always be followed "
"by an implementation that is not @overload-ed."
)


def overload():
return _overload_dummy