summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2020-02-13 23:57:35 (GMT)
committerGitHub <noreply@github.com>2020-02-13 23:57:35 (GMT)
commitf632736023502816f2e6bd714d1b48c81aa2ccc1 (patch)
tree16b30a96c4a5353738879cf8d3680a46784a590d
parent10e87e5ef4c1b4fb8415d9ddc362e2591f2f0b6c (diff)
downloadcpython-f632736023502816f2e6bd714d1b48c81aa2ccc1.zip
cpython-f632736023502816f2e6bd714d1b48c81aa2ccc1.tar.gz
cpython-f632736023502816f2e6bd714d1b48c81aa2ccc1.tar.bz2
bpo-39545: Document changes in the support of await in f-strings. (GH-18456)
https://bugs.python.org/issue39545
-rw-r--r--Doc/reference/lexical_analysis.rst5
-rw-r--r--Doc/whatsnew/3.7.rst5
2 files changed, 10 insertions, 0 deletions
diff --git a/Doc/reference/lexical_analysis.rst b/Doc/reference/lexical_analysis.rst
index c0e13b5..3d4b03e 100644
--- a/Doc/reference/lexical_analysis.rst
+++ b/Doc/reference/lexical_analysis.rst
@@ -685,6 +685,11 @@ strings), but they cannot contain comments. Each expression is evaluated
in the context where the formatted string literal appears, in order from
left to right.
+.. versionchanged:: 3.7
+ Prior to Python 3.7, an :keyword:`await` expression and comprehensions
+ containing an :keyword:`async for` clause were illegal in the expressions
+ in formatted string literals due to a problem with the implementation.
+
If a conversion is specified, the result of evaluating the expression
is converted before formatting. Conversion ``'!s'`` calls :func:`str` on
the result, ``'!r'`` calls :func:`repr`, and ``'!a'`` calls :func:`ascii`.
diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst
index 04cfa57..59b9662 100644
--- a/Doc/whatsnew/3.7.rst
+++ b/Doc/whatsnew/3.7.rst
@@ -493,6 +493,11 @@ description.
Other Language Changes
======================
+* An :keyword:`await` expression and comprehensions containing an
+ :keyword:`async for` clause were illegal in the expressions in
+ :ref:`formatted string literals <f-strings>` due to a problem with the
+ implementation. In Python 3.7 this restriction was lifted.
+
* More than 255 arguments can now be passed to a function, and a function can
now have more than 255 parameters. (Contributed by Serhiy Storchaka in
:issue:`12844` and :issue:`18896`.)