# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2016, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-30 10:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../Doc/library/typing.rst:2
msgid ":mod:`typing` --- Support for type hints"
msgstr ""

#: ../Doc/library/typing.rst:9
msgid "**Source code:** :source:`Lib/typing.py`"
msgstr "**Code source :** :source:`Lib/typing.py`"

#: ../Doc/library/typing.rst:13
msgid ""
"This module supports type hints as specified by :pep:`484` and :pep:`526`. "
"The most fundamental support consists of the type :data:`Any`, :data:"
"`Union`, :data:`Tuple`, :data:`Callable`, :class:`TypeVar`, and :class:"
"`Generic`.  For full specification please see :pep:`484`.  For a simplified "
"introduction to type hints see :pep:`483`."
msgstr ""

#: ../Doc/library/typing.rst:20
msgid ""
"The function below takes and returns a string and is annotated as follows::"
msgstr ""

#: ../Doc/library/typing.rst:25
msgid ""
"In the function ``greeting``, the argument ``name`` is expected to be of "
"type :class:`str` and the return type :class:`str`. Subtypes are accepted as "
"arguments."
msgstr ""

#: ../Doc/library/typing.rst:30
msgid "Type aliases"
msgstr ""

#: ../Doc/library/typing.rst:32
msgid ""
"A type alias is defined by assigning the type to the alias. In this example, "
"``Vector`` and ``List[float]`` will be treated as interchangeable synonyms::"
msgstr ""

#: ../Doc/library/typing.rst:44
msgid ""
"Type aliases are useful for simplifying complex type signatures. For "
"example::"
msgstr ""

#: ../Doc/library/typing.rst:62
msgid ""
"Note that ``None`` as a type hint is a special case and is replaced by "
"``type(None)``."
msgstr ""

#: ../Doc/library/typing.rst:68
msgid "NewType"
msgstr ""

#: ../Doc/library/typing.rst:70
msgid "Use the :func:`NewType` helper function to create distinct types::"
msgstr ""

#: ../Doc/library/typing.rst:77
msgid ""
"The static type checker will treat the new type as if it were a subclass of "
"the original type. This is useful in helping catch logical errors::"
msgstr ""

#: ../Doc/library/typing.rst:89
msgid ""
"You may still perform all ``int`` operations on a variable of type "
"``UserId``, but the result will always be of type ``int``. This lets you "
"pass in a ``UserId`` wherever an ``int`` might be expected, but will prevent "
"you from accidentally creating a ``UserId`` in an invalid way::"
msgstr ""

#: ../Doc/library/typing.rst:97
msgid ""
"Note that these checks are enforced only by the static type checker. At "
"runtime the statement ``Derived = NewType('Derived', Base)`` will make "
"``Derived`` a function that immediately returns whatever parameter you pass "
"it. That means the expression ``Derived(some_value)`` does not create a new "
"class or introduce any overhead beyond that of a regular function call."
msgstr ""

#: ../Doc/library/typing.rst:103
msgid ""
"More precisely, the expression ``some_value is Derived(some_value)`` is "
"always true at runtime."
msgstr ""

#: ../Doc/library/typing.rst:106
msgid ""
"This also means that it is not possible to create a subtype of ``Derived`` "
"since it is an identity function at runtime, not an actual type. Similarly, "
"it is not possible to create another :func:`NewType` based on a ``Derived`` "
"type::"
msgstr ""

#: ../Doc/library/typing.rst:120
msgid "See :pep:`484` for more details."
msgstr ""

#: ../Doc/library/typing.rst:124
msgid ""
"Recall that the use of a type alias declares two types to be *equivalent* to "
"one another. Doing ``Alias = Original`` will make the static type checker "
"treat ``Alias`` as being *exactly equivalent* to ``Original`` in all cases. "
"This is useful when you want to simplify complex type signatures."
msgstr ""

#: ../Doc/library/typing.rst:129
msgid ""
"In contrast, ``NewType`` declares one type to be a *subtype* of another. "
"Doing ``Derived = NewType('Derived', Original)`` will make the static type "
"checker treat ``Derived`` as a *subclass* of ``Original``, which means a "
"value of type ``Original`` cannot be used in places where a value of type "
"``Derived`` is expected. This is useful when you want to prevent logic "
"errors with minimal runtime cost."
msgstr ""

#: ../Doc/library/typing.rst:137
msgid "Callable"
msgstr ""

#: ../Doc/library/typing.rst:139
msgid ""
"Frameworks expecting callback functions of specific signatures might be type "
"hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``."
msgstr ""

#: ../Doc/library/typing.rst:142
msgid "For example::"
msgstr "Par exemple : ::"

#: ../Doc/library/typing.rst:153
msgid ""
"It is possible to declare the return type of a callable without specifying "
"the call signature by substituting a literal ellipsis for the list of "
"arguments in the type hint: ``Callable[..., ReturnType]``."
msgstr ""

#: ../Doc/library/typing.rst:158
msgid "Generics"
msgstr ""

#: ../Doc/library/typing.rst:160
msgid ""
"Since type information about objects kept in containers cannot be statically "
"inferred in a generic way, abstract base classes have been extended to "
"support subscription to denote expected types for container elements."
msgstr ""

#: ../Doc/library/typing.rst:171
msgid ""
"Generics can be parametrized by using a new factory available in typing "
"called :class:`TypeVar`."
msgstr ""

#: ../Doc/library/typing.rst:185
msgid "User-defined generic types"
msgstr ""

#: ../Doc/library/typing.rst:187
msgid "A user-defined class can be defined as a generic class."
msgstr ""

#: ../Doc/library/typing.rst:213
msgid ""
"``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a "
"single type parameter ``T`` . This also makes ``T`` valid as a type within "
"the class body."
msgstr ""

#: ../Doc/library/typing.rst:217
msgid ""
"The :class:`Generic` base class uses a metaclass that defines :meth:"
"`__getitem__` so that ``LoggedVar[t]`` is valid as a type::"
msgstr ""

#: ../Doc/library/typing.rst:226
msgid ""
"A generic type can have any number of type variables, and type variables may "
"be constrained::"
msgstr ""

#: ../Doc/library/typing.rst:238
msgid ""
"Each type variable argument to :class:`Generic` must be distinct. This is "
"thus invalid::"
msgstr ""

#: ../Doc/library/typing.rst:249
msgid "You can use multiple inheritance with :class:`Generic`::"
msgstr ""

#: ../Doc/library/typing.rst:258
msgid ""
"When inheriting from generic classes, some type variables could be fixed::"
msgstr ""

#: ../Doc/library/typing.rst:267
msgid "In this case ``MyDict`` has a single parameter, ``T``."
msgstr ""

#: ../Doc/library/typing.rst:269
msgid ""
"Using a generic class without specifying type parameters assumes :data:`Any` "
"for each position. In the following example, ``MyIterable`` is not generic "
"but implicitly inherits from ``Iterable[Any]``::"
msgstr ""

#: ../Doc/library/typing.rst:277
msgid ""
"The metaclass used by :class:`Generic` is a subclass of :class:`abc."
"ABCMeta`. A generic class can be an ABC by including abstract methods or "
"properties, and generic classes can also have ABCs as base classes without a "
"metaclass conflict. Generic metaclasses are not supported. The outcome of "
"parameterizing generics is cached, and most types in the typing module are "
"hashable and comparable for equality."
msgstr ""

#: ../Doc/library/typing.rst:286
msgid "The :data:`Any` type"
msgstr ""

#: ../Doc/library/typing.rst:288
msgid ""
"A special kind of type is :data:`Any`. A static type checker will treat "
"every type as being compatible with :data:`Any` and :data:`Any` as being "
"compatible with every type."
msgstr ""

#: ../Doc/library/typing.rst:292
msgid ""
"This means that it is possible to perform any operation or method call on a "
"value of type on :data:`Any` and assign it to any variable::"
msgstr ""

#: ../Doc/library/typing.rst:310
msgid ""
"Notice that no typechecking is performed when assigning a value of type :"
"data:`Any` to a more precise type. For example, the static type checker did "
"not report an error when assigning ``a`` to ``s`` even though ``s`` was "
"declared to be of type :class:`str` and receives an :class:`int` value at "
"runtime!"
msgstr ""

#: ../Doc/library/typing.rst:316
msgid ""
"Furthermore, all functions without a return type or parameter types will "
"implicitly default to using :data:`Any`::"
msgstr ""

#: ../Doc/library/typing.rst:329
msgid ""
"This behavior allows :data:`Any` to be used as an *escape hatch* when you "
"need to mix dynamically and statically typed code."
msgstr ""

#: ../Doc/library/typing.rst:332
msgid ""
"Contrast the behavior of :data:`Any` with the behavior of :class:`object`. "
"Similar to :data:`Any`, every type is a subtype of :class:`object`. However, "
"unlike :data:`Any`, the reverse is not true: :class:`object` is *not* a "
"subtype of every other type."
msgstr ""

#: ../Doc/library/typing.rst:337
msgid ""
"That means when the type of a value is :class:`object`, a type checker will "
"reject almost all operations on it, and assigning it to a variable (or using "
"it as a return value) of a more specialized type is a type error. For "
"example::"
msgstr ""

#: ../Doc/library/typing.rst:359
msgid ""
"Use :class:`object` to indicate that a value could be any type in a typesafe "
"manner. Use :data:`Any` to indicate that a value is dynamically typed."
msgstr ""

#: ../Doc/library/typing.rst:363
msgid "Classes, functions, and decorators"
msgstr ""

#: ../Doc/library/typing.rst:365
msgid "The module defines the following classes, functions and decorators:"
msgstr ""

#: ../Doc/library/typing.rst:369
msgid "Type variable."
msgstr ""

#: ../Doc/library/typing.rst:371 ../Doc/library/typing.rst:684
msgid "Usage::"
msgstr ""

#: ../Doc/library/typing.rst:376
msgid ""
"Type variables exist primarily for the benefit of static type checkers.  "
"They serve as the parameters for generic types as well as for generic "
"function definitions.  See class Generic for more information on generic "
"types.  Generic functions work as follows::"
msgstr ""

#: ../Doc/library/typing.rst:389
msgid ""
"The latter example's signature is essentially the overloading of ``(str, "
"str) -> str`` and ``(bytes, bytes) -> bytes``.  Also note that if the "
"arguments are instances of some subclass of :class:`str`, the return type is "
"still plain :class:`str`."
msgstr ""

#: ../Doc/library/typing.rst:394
msgid ""
"At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`.  In general, :"
"func:`isinstance` and :func:`issubclass` should not be used with types."
msgstr ""

#: ../Doc/library/typing.rst:397
msgid ""
"Type variables may be marked covariant or contravariant by passing "
"``covariant=True`` or ``contravariant=True``.  See :pep:`484` for more "
"details.  By default type variables are invariant.  Alternatively, a type "
"variable may specify an upper bound using ``bound=<type>``. This means that "
"an actual type substituted (explicitly or implicitly) for the type variable "
"must be a subclass of the boundary type, see :pep:`484`."
msgstr ""

#: ../Doc/library/typing.rst:407
msgid "Abstract base class for generic types."
msgstr ""

#: ../Doc/library/typing.rst:409
msgid ""
"A generic type is typically declared by inheriting from an instantiation of "
"this class with one or more type variables. For example, a generic mapping "
"type might be defined as::"
msgstr ""

#: ../Doc/library/typing.rst:418
msgid "This class can then be used as follows::"
msgstr ""

#: ../Doc/library/typing.rst:431
msgid ""
"A variable annotated with ``C`` may accept a value of type ``C``. In "
"contrast, a variable annotated with ``Type[C]`` may accept values that are "
"classes themselves -- specifically, it will accept the *class object* of "
"``C``. For example::"
msgstr ""

#: ../Doc/library/typing.rst:440
msgid "Note that ``Type[C]`` is covariant::"
msgstr ""

#: ../Doc/library/typing.rst:452
msgid ""
"The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` "
"should implement the same constructor signature and class method signatures "
"as ``C``. The type checker should flag violations of this, but should also "
"allow constructor calls in subclasses that match the constructor calls in "
"the indicated base class. How the type checker is required to handle this "
"particular case may change in future revisions of :pep:`484`."
msgstr ""

#: ../Doc/library/typing.rst:460
msgid ""
"The only legal parameters for :class:`Type` are classes, unions of classes, "
"and :data:`Any`. For example::"
msgstr ""

#: ../Doc/library/typing.rst:465
msgid ""
"``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to "
"``type``, which is the root of Python's metaclass hierarchy."
msgstr ""

#: ../Doc/library/typing.rst:470
msgid "A generic version of :class:`collections.abc.Iterable`."
msgstr ""

#: ../Doc/library/typing.rst:474
msgid "A generic version of :class:`collections.abc.Iterator`."
msgstr ""

#: ../Doc/library/typing.rst:478
msgid "A generic version of :class:`collections.abc.Reversible`."
msgstr ""

#: ../Doc/library/typing.rst:482
msgid "An ABC with one abstract method ``__int__``."
msgstr ""

#: ../Doc/library/typing.rst:486
msgid "An ABC with one abstract method ``__float__``."
msgstr ""

#: ../Doc/library/typing.rst:490
msgid ""
"An ABC with one abstract method ``__abs__`` that is covariant in its return "
"type."
msgstr ""

#: ../Doc/library/typing.rst:495
msgid ""
"An ABC with one abstract method ``__round__`` that is covariant in its "
"return type."
msgstr ""

#: ../Doc/library/typing.rst:500
msgid "A generic version of :class:`collections.abc.Container`."
msgstr ""

#: ../Doc/library/typing.rst:504
msgid "An alias to :class:`collections.abc.Hashable`"
msgstr ""

#: ../Doc/library/typing.rst:508
msgid "An alias to :class:`collections.abc.Sized`"
msgstr ""

#: ../Doc/library/typing.rst:512
msgid "A generic version of :class:`collections.abc.Collection`"
msgstr ""

#: ../Doc/library/typing.rst:518
msgid "A generic version of :class:`collections.abc.Set`."
msgstr ""

#: ../Doc/library/typing.rst:522
msgid "A generic version of :class:`collections.abc.MutableSet`."
msgstr ""

#: ../Doc/library/typing.rst:526
msgid "A generic version of :class:`collections.abc.Mapping`."
msgstr ""

#: ../Doc/library/typing.rst:530
msgid "A generic version of :class:`collections.abc.MutableMapping`."
msgstr ""

#: ../Doc/library/typing.rst:534
msgid "A generic version of :class:`collections.abc.Sequence`."
msgstr ""

#: ../Doc/library/typing.rst:538
msgid "A generic version of :class:`collections.abc.MutableSequence`."
msgstr ""

#: ../Doc/library/typing.rst:542
msgid "A generic version of :class:`collections.abc.ByteString`."
msgstr ""

#: ../Doc/library/typing.rst:544
msgid ""
"This type represents the types :class:`bytes`, :class:`bytearray`, and :"
"class:`memoryview`."
msgstr ""

#: ../Doc/library/typing.rst:547
msgid ""
"As a shorthand for this type, :class:`bytes` can be used to annotate "
"arguments of any of the types mentioned above."
msgstr ""

#: ../Doc/library/typing.rst:552
msgid ""
"Generic version of :class:`list`. Useful for annotating return types. To "
"annotate arguments it is preferred to use abstract collection types such as :"
"class:`Mapping`, :class:`Sequence`, or :class:`AbstractSet`."
msgstr ""

#: ../Doc/library/typing.rst:557
msgid "This type may be used as follows::"
msgstr ""

#: ../Doc/library/typing.rst:569
msgid "A generic version of :class:`builtins.set <set>`."
msgstr ""

#: ../Doc/library/typing.rst:573
msgid "A generic version of :class:`collections.abc.MappingView`."
msgstr ""

#: ../Doc/library/typing.rst:577
msgid "A generic version of :class:`collections.abc.KeysView`."
msgstr ""

#: ../Doc/library/typing.rst:581
msgid "A generic version of :class:`collections.abc.ItemsView`."
msgstr ""

#: ../Doc/library/typing.rst:585
msgid "A generic version of :class:`collections.abc.ValuesView`."
msgstr ""

#: ../Doc/library/typing.rst:589
msgid "A generic version of :class:`collections.abc.Awaitable`."
msgstr ""

#: ../Doc/library/typing.rst:593
msgid "A generic version of :class:`collections.abc.AsyncIterable`."
msgstr ""

#: ../Doc/library/typing.rst:597
msgid "A generic version of :class:`collections.abc.AsyncIterator`."
msgstr ""

#: ../Doc/library/typing.rst:601
msgid "A generic version of :class:`contextlib.AbstractContextManager`."
msgstr ""

#: ../Doc/library/typing.rst:607
msgid ""
"A generic version of :class:`dict`. The usage of this type is as follows::"
msgstr ""

#: ../Doc/library/typing.rst:615
msgid "A generic version of :class:`collections.defaultdict`"
msgstr ""

#: ../Doc/library/typing.rst:619
msgid ""
"A generator can be annotated by the generic type ``Generator[YieldType, "
"SendType, ReturnType]``. For example::"
msgstr ""

#: ../Doc/library/typing.rst:628
msgid ""
"Note that unlike many other generics in the typing module, the ``SendType`` "
"of :class:`Generator` behaves contravariantly, not covariantly or "
"invariantly."
msgstr ""

#: ../Doc/library/typing.rst:632
msgid ""
"If your generator will only yield values, set the ``SendType`` and "
"``ReturnType`` to ``None``::"
msgstr ""

#: ../Doc/library/typing.rst:640
msgid ""
"Alternatively, annotate your generator as having a return type of either "
"``Iterable[YieldType]`` or ``Iterator[YieldType]``::"
msgstr ""

#: ../Doc/library/typing.rst:650
msgid ""
"``Text`` is an alias for ``str``. It is provided to supply a forward "
"compatible path for Python 2 code: in Python 2, ``Text`` is an alias for "
"``unicode``."
msgstr ""

#: ../Doc/library/typing.rst:654
msgid ""
"Use ``Text`` to indicate that a value must contain a unicode string in a "
"manner that is compatible with both Python 2 and Python 3::"
msgstr ""

#: ../Doc/library/typing.rst:662
msgid "Wrapper namespace for I/O stream types."
msgstr ""

#: ../Doc/library/typing.rst:664
msgid ""
"This defines the generic type ``IO[AnyStr]`` and aliases ``TextIO`` and "
"``BinaryIO`` for respectively ``IO[str]`` and ``IO[bytes]``. These "
"representing the types of I/O streams such as returned by :func:`open`."
msgstr ""

#: ../Doc/library/typing.rst:671
msgid "Wrapper namespace for regular expression matching types."
msgstr ""

#: ../Doc/library/typing.rst:673
msgid ""
"This defines the type aliases ``Pattern`` and ``Match`` which correspond to "
"the return types from :func:`re.compile` and :func:`re.match`.  These types "
"(and the corresponding functions) are generic in ``AnyStr`` and can be made "
"specific by writing ``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]``, or "
"``Match[bytes]``."
msgstr ""

#: ../Doc/library/typing.rst:682
msgid "Typed version of namedtuple."
msgstr ""

#: ../Doc/library/typing.rst:688
msgid "This is equivalent to::"
msgstr "C’est équivalent à ::"

#: ../Doc/library/typing.rst:692
msgid ""
"The resulting class has one extra attribute: _field_types, giving a dict "
"mapping field names to types.  (The field names are in the _fields "
"attribute, which is part of the namedtuple API.)"
msgstr ""

#: ../Doc/library/typing.rst:699
msgid ""
"A helper function to indicate a distinct types to a typechecker, see :ref:"
"`distinct`. At runtime it returns a function that returns its argument. "
"Usage::"
msgstr ""

#: ../Doc/library/typing.rst:708
msgid "Cast a value to a type."
msgstr ""

#: ../Doc/library/typing.rst:710
msgid ""
"This returns the value unchanged.  To the type checker this signals that the "
"return value has the designated type, but at runtime we intentionally don't "
"check anything (we want this to be as fast as possible)."
msgstr ""

#: ../Doc/library/typing.rst:717
msgid "Return type hints for a class, module, function or method object."
msgstr ""

#: ../Doc/library/typing.rst:719
msgid ""
"This is often the same as ``obj.__annotations__``, but it handles forward "
"references encoded as string literals, and if necessary adds ``Optional[t]`` "
"if a default value equal to ``None`` is set."
msgstr ""

#: ../Doc/library/typing.rst:725
msgid ""
"The ``@overload`` decorator allows describing functions and methods that "
"support multiple different combinations of argument types. A series of "
"``@overload``-decorated definitions must be followed by exactly one non-"
"``@overload``-decorated definition (for the same function/method). The "
"``@overload``-decorated definitions are for the benefit of the type checker "
"only, since they will be overwritten by the non-``@overload``-decorated "
"definition, while the latter is used at runtime but should be ignored by a "
"type checker.  At runtime, calling a ``@overload``-decorated function "
"directly will raise ``NotImplementedError``. An example of overload that "
"gives a more precise type than can be expressed using a union or a type "
"variable::"
msgstr ""

#: ../Doc/library/typing.rst:749
msgid "See :pep:`484` for details and comparison with other typing semantics."
msgstr ""

#: ../Doc/library/typing.rst:753
msgid "Decorator to indicate that annotations are not type hints."
msgstr ""

#: ../Doc/library/typing.rst:755
msgid ""
"The argument must be a class or function; if it is a class, it applies "
"recursively to all methods defined in that class (but not to methods defined "
"in its superclasses or subclasses)."
msgstr ""

#: ../Doc/library/typing.rst:759
msgid "This mutates the function(s) in place."
msgstr ""

#: ../Doc/library/typing.rst:763
msgid "Decorator to give another decorator the :func:`no_type_check` effect."
msgstr ""

#: ../Doc/library/typing.rst:765
msgid ""
"This wraps the decorator with something that wraps the decorated function "
"in :func:`no_type_check`."
msgstr ""

#: ../Doc/library/typing.rst:770
msgid "Special type indicating an unconstrained type."
msgstr ""

#: ../Doc/library/typing.rst:772
msgid "Every type is compatible with :data:`Any`."
msgstr ""

#: ../Doc/library/typing.rst:773
msgid ":data:`Any` is compatible with every type."
msgstr ""

#: ../Doc/library/typing.rst:777
msgid "Union type; ``Union[X, Y]`` means either X or Y."
msgstr ""

#: ../Doc/library/typing.rst:779
msgid "To define a union, use e.g. ``Union[int, str]``.  Details:"
msgstr ""

#: ../Doc/library/typing.rst:781
msgid "The arguments must be types and there must be at least one."
msgstr ""

#: ../Doc/library/typing.rst:783
msgid "Unions of unions are flattened, e.g.::"
msgstr ""

#: ../Doc/library/typing.rst:787
msgid "Unions of a single argument vanish, e.g.::"
msgstr ""

#: ../Doc/library/typing.rst:791
msgid "Redundant arguments are skipped, e.g.::"
msgstr ""

#: ../Doc/library/typing.rst:795
msgid "When comparing unions, the argument order is ignored, e.g.::"
msgstr ""

#: ../Doc/library/typing.rst:799
msgid ""
"When a class and its subclass are present, the former is skipped, e.g.::"
msgstr ""

#: ../Doc/library/typing.rst:803
msgid "You cannot subclass or instantiate a union."
msgstr ""

#: ../Doc/library/typing.rst:805
msgid "You cannot write ``Union[X][Y]``."
msgstr ""

#: ../Doc/library/typing.rst:807
msgid "You can use ``Optional[X]`` as a shorthand for ``Union[X, None]``."
msgstr ""

#: ../Doc/library/typing.rst:811
msgid "Optional type."
msgstr ""

#: ../Doc/library/typing.rst:813
msgid "``Optional[X]`` is equivalent to ``Union[X, None]``."
msgstr ""

#: ../Doc/library/typing.rst:815
msgid ""
"Note that this is not the same concept as an optional argument, which is one "
"that has a default.  An optional argument with a default needn't use the "
"``Optional`` qualifier on its type annotation (although it is inferred if "
"the default is ``None``). A mandatory argument may still have an "
"``Optional`` type if an explicit value of ``None`` is allowed."
msgstr ""

#: ../Doc/library/typing.rst:824
msgid ""
"Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the "
"first item of type X and the second of type Y."
msgstr ""

#: ../Doc/library/typing.rst:827
msgid ""
"Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to type "
"variables T1 and T2.  ``Tuple[int, float, str]`` is a tuple of an int, a "
"float and a string."
msgstr ""

#: ../Doc/library/typing.rst:831
msgid ""
"To specify a variable-length tuple of homogeneous type, use literal "
"ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent to "
"``Tuple[Any, ...]``, and in turn to :data:`tuple`."
msgstr ""

#: ../Doc/library/typing.rst:837
msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str."
msgstr ""

#: ../Doc/library/typing.rst:839
msgid ""
"The subscription syntax must always be used with exactly two values: the "
"argument list and the return type.  The argument list must be a list of "
"types; the return type must be a single type."
msgstr ""

#: ../Doc/library/typing.rst:843
msgid ""
"There is no syntax to indicate optional or keyword arguments; such function "
"types are rarely used as callback types. ``Callable[..., ReturnType]`` "
"(literal ellipsis) can be used to type hint a callable taking any number of "
"arguments and returning ``ReturnType``.  A plain :data:`Callable` is "
"equivalent to ``Callable[..., Any]``, and in turn to :class:`collections.abc."
"Callable`."
msgstr ""

#: ../Doc/library/typing.rst:853
msgid "Special type construct to mark class variables."
msgstr ""

#: ../Doc/library/typing.rst:855
msgid ""
"As introduced in :pep:`526`, a variable annotation wrapped in ClassVar "
"indicates that a given attribute is intended to be used as a class variable "
"and should not be set on instances of that class. Usage::"
msgstr ""

#: ../Doc/library/typing.rst:863
msgid ":data:`ClassVar` accepts only types and cannot be further subscribed."
msgstr ""

#: ../Doc/library/typing.rst:865
msgid ""
":data:`ClassVar` is not a class itself, and should not be used with :func:"
"`isinstance` or :func:`issubclass`. Note that :data:`ClassVar` does not "
"change Python runtime behavior; it can be used by 3rd party type checkers, "
"so that the following code might flagged as an error by those::"
msgstr ""

#: ../Doc/library/typing.rst:879
msgid ""
"``AnyStr`` is a type variable defined as ``AnyStr = TypeVar('AnyStr', str, "
"bytes)``."
msgstr ""

#: ../Doc/library/typing.rst:882
msgid ""
"It is meant to be used for functions that may accept any kind of string "
"without allowing different kinds of strings to mix. For example::"
msgstr ""

#: ../Doc/library/typing.rst:894
msgid ""
"A special constant that is assumed to be ``True`` by 3rd party static type "
"checkers. It is ``False`` at runtime. Usage::"
msgstr ""
