``Derived`` is expected. This is useful when you want to prevent logic
errors with minimal runtime cost.
+.. versionadded:: 3.5.2
+
Callable
--------
``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent
to ``type``, which is the root of Python's metaclass hierarchy.
+ .. versionadded:: 3.5.2
+
.. class:: Iterable(Generic[T_co])
A generic version of :class:`collections.abc.Iterable`.
A generic version of :class:`collections.defaultdict`.
+ .. versionadded:: 3.5.2
+
.. class:: Counter(collections.Counter, Dict[T, int])
A generic version of :class:`collections.Counter`.
def add_unicode_checkmark(text: Text) -> Text:
return text + u' \u2713'
+ .. versionadded:: 3.5.2
+
.. class:: io
Wrapper namespace for I/O stream types.
UserId = NewType('UserId', int)
first_user = UserId(1)
+ .. versionadded:: 3.5.2
+
.. function:: cast(typ, val)
Cast a value to a type.
"forward reference", to hide the ``expensive_mod`` reference from the
interpreter runtime. Type annotations for local variables are not
evaluated, so the second annotation does not need to be enclosed in quotes.
+
+ .. versionadded:: 3.5.2
.. section: Library
A new version of typing.py provides several new classes and features:
-@overload outside stubs, Reversible, DefaultDict, Text, ContextManager,
+@overload outside stubs, DefaultDict, Text, ContextManager,
Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of
the new features are not yet implemented in mypy or other static analyzers).
Also classes for PEP 492 (Awaitable, AsyncIterable, AsyncIterator) have been