summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r--Doc/whatsnew/3.7.rst12
1 files changed, 12 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst
index 6545a18..b6dad4e 100644
--- a/Doc/whatsnew/3.7.rst
+++ b/Doc/whatsnew/3.7.rst
@@ -570,6 +570,18 @@ Other CPython Implementation Changes
Deprecated
==========
+* Yield expressions (both ``yield`` and ``yield from`` clauses) are now deprecated
+ in comprehensions and generator expressions (aside from the iterable expression
+ in the leftmost :keyword:`for` clause). This ensures that comprehensions
+ always immediately return a container of the appropriate type (rather than
+ potentially returning a :term:`generator iterator` object), while generator
+ expressions won't attempt to interleave their implicit output with the output
+ from any explicit yield expressions.
+
+ In Python 3.7, such expressions emit :exc:`DeprecationWarning` when compiled,
+ in Python 3.8+ they will emit :exc:`SyntaxError`. (Contributed by Serhiy
+ Storchaka in :issue:`10544`.)
+
- Function :c:func:`PySlice_GetIndicesEx` is deprecated and replaced with
a macro if ``Py_LIMITED_API`` is not set or set to the value between
``0x03050400`` and ``0x03060000`` (not including) or ``0x03060100`` or