Skip to content
Permalink
Browse files

bpo-38870: Throw ValueError on invalid yield from usage (GH-17798)

  • Loading branch information
isidentical authored and pablogsal committed Jan 2, 2020
1 parent 78018bb commit 7b35bef9787cd80ed1e12124f759b4be03c849db
Showing with 6 additions and 4 deletions.
  1. +4 −4 Lib/ast.py
  2. +2 −0 Lib/test/test_unparse.py
@@ -735,10 +735,10 @@ def visit_Yield(self, node):

def visit_YieldFrom(self, node):
with self.delimit("(", ")"):
self.write("yield from")
if node.value:
self.write(" ")
self.traverse(node.value)
self.write("yield from ")
if not node.value:
raise ValueError("Node can't be used without a value attribute.")
self.traverse(node.value)

def visit_Raise(self, node):
self.fill("raise")
@@ -278,6 +278,8 @@ def test_invalid_fstring_conversion(self):
def test_invalid_set(self):
self.check_invalid(ast.Set(elts=[]))

def test_invalid_yield_from(self):
self.check_invalid(ast.YieldFrom(value=None))

class DirectoryTestCase(ASTTestCase):
"""Test roundtrip behaviour on all files in Lib and Lib/test."""

0 comments on commit 7b35bef

Please sign in to comment.
You can’t perform that action at this time.