summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorPedro Fonini <fonini@protonmail.ch>2024-11-11 00:40:25 (GMT)
committerGitHub <noreply@github.com>2024-11-11 00:40:25 (GMT)
commit434b29767f2fdef9f35c8e93303cf6aca4a66a80 (patch)
treef570e6e11a5d905ee8ba29e5d4933f591b6b24c5 /Doc
parentf435de6765e0327995850d719534be38c9b5ec49 (diff)
downloadcpython-434b29767f2fdef9f35c8e93303cf6aca4a66a80.zip
cpython-434b29767f2fdef9f35c8e93303cf6aca4a66a80.tar.gz
cpython-434b29767f2fdef9f35c8e93303cf6aca4a66a80.tar.bz2
gh-126543: Docs: change "bound type var" to "bounded" when used in the context of the 'bound' kw argument to TypeVar (#126584)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/typing.rst22
1 files changed, 11 insertions, 11 deletions
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index cd8b908..0fee782 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -1726,11 +1726,11 @@ without the dedicated syntax, as documented below.
class Sequence[T]: # T is a TypeVar
...
- This syntax can also be used to create bound and constrained type
+ This syntax can also be used to create bounded and constrained type
variables::
- class StrSequence[S: str]: # S is a TypeVar bound to str
- ...
+ class StrSequence[S: str]: # S is a TypeVar with a `str` upper bound;
+ ... # we can say that S is "bounded by `str`"
class StrOrBytesSequence[A: (str, bytes)]: # A is a TypeVar constrained to str or bytes
@@ -1763,8 +1763,8 @@ without the dedicated syntax, as documented below.
"""Add two strings or bytes objects together."""
return x + y
- Note that type variables can be *bound*, *constrained*, or neither, but
- cannot be both bound *and* constrained.
+ Note that type variables can be *bounded*, *constrained*, or neither, but
+ cannot be both bounded *and* constrained.
The variance of type variables is inferred by type checkers when they are created
through the :ref:`type parameter syntax <type-params>` or when
@@ -1774,8 +1774,8 @@ without the dedicated syntax, as documented below.
By default, manually created type variables are invariant.
See :pep:`484` and :pep:`695` for more details.
- Bound type variables and constrained type variables have different
- semantics in several important ways. Using a *bound* type variable means
+ Bounded type variables and constrained type variables have different
+ semantics in several important ways. Using a *bounded* type variable means
that the ``TypeVar`` will be solved using the most specific type possible::
x = print_capitalized('a string')
@@ -1789,8 +1789,8 @@ without the dedicated syntax, as documented below.
z = print_capitalized(45) # error: int is not a subtype of str
- Type variables can be bound to concrete types, abstract types (ABCs or
- protocols), and even unions of types::
+ The upper bound of a type variable can be a concrete type, abstract type
+ (ABC or Protocol), or even a union of types::
# Can be anything with an __abs__ method
def print_abs[T: SupportsAbs](arg: T) -> None:
@@ -1834,7 +1834,7 @@ without the dedicated syntax, as documented below.
.. attribute:: __bound__
- The bound of the type variable, if any.
+ The upper bound of the type variable, if any.
.. versionchanged:: 3.12
@@ -2100,7 +2100,7 @@ without the dedicated syntax, as documented below.
return x + y
Without ``ParamSpec``, the simplest way to annotate this previously was to
- use a :class:`TypeVar` with bound ``Callable[..., Any]``. However this
+ use a :class:`TypeVar` with upper bound ``Callable[..., Any]``. However this
causes two problems:
1. The type checker can't type check the ``inner`` function because