Delegating With Yield From

def sub():
    yield 1
    yield 2
    return 99

def outer():
    result = yield from sub()
    yield result

print(list(outer()))

What does this print?

A

It raises TypeError, because yield from cannot be assigned to a variable

B

[1, 2, 99]

C

[1, 2], because a return inside a generator is silently discarded

D

[1, 2, None], because yield from never captures a sub-generator's return value