mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
Implement PEP 380 - 'yield from' (closes #11682)
This commit is contained in:
parent
e51757f6de
commit
1f7ce62bd6
33 changed files with 872 additions and 421 deletions
|
|
@ -728,29 +728,6 @@ Ye olde Fibonacci generator, tee style.
|
|||
|
||||
syntax_tests = """
|
||||
|
||||
>>> def f():
|
||||
... return 22
|
||||
... yield 1
|
||||
Traceback (most recent call last):
|
||||
..
|
||||
SyntaxError: 'return' with argument inside generator
|
||||
|
||||
>>> def f():
|
||||
... yield 1
|
||||
... return 22
|
||||
Traceback (most recent call last):
|
||||
..
|
||||
SyntaxError: 'return' with argument inside generator
|
||||
|
||||
"return None" is not the same as "return" in a generator:
|
||||
|
||||
>>> def f():
|
||||
... yield 1
|
||||
... return None
|
||||
Traceback (most recent call last):
|
||||
..
|
||||
SyntaxError: 'return' with argument inside generator
|
||||
|
||||
These are fine:
|
||||
|
||||
>>> def f():
|
||||
|
|
@ -866,20 +843,6 @@ These are fine:
|
|||
>>> type(f())
|
||||
<class 'generator'>
|
||||
|
||||
|
||||
>>> def f():
|
||||
... if 0:
|
||||
... lambda x: x # shouldn't trigger here
|
||||
... return # or here
|
||||
... def f(i):
|
||||
... return 2*i # or here
|
||||
... if 0:
|
||||
... return 3 # but *this* sucks (line 8)
|
||||
... if 0:
|
||||
... yield 2 # because it's a generator (line 10)
|
||||
Traceback (most recent call last):
|
||||
SyntaxError: 'return' with argument inside generator
|
||||
|
||||
This one caused a crash (see SF bug 567538):
|
||||
|
||||
>>> def f():
|
||||
|
|
@ -1566,11 +1529,6 @@ Traceback (most recent call last):
|
|||
...
|
||||
SyntaxError: 'yield' outside function
|
||||
|
||||
>>> def f(): return lambda x=(yield): 1
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
SyntaxError: 'return' with argument inside generator
|
||||
|
||||
>>> def f(): x = yield = y
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue