title: yield from a generator that has return <value> statement in it
body: <p>I have a generator with the <code>return value</code> statement in it.
  If i use next on it I get the Stopiteration: <code>value</code> from it as expected.
  However when I use <code>yield from</code> the <code>value</code> is lost.</p>
  
  <pre><code>In [1]: def test():
     ...:     return 1
     ...:     yield 2
     ...:
  
  In [2]: t = test()
  
  In [3]: t
  Out[3]: &lt;generator object test at 0x000000000468F780&gt;
  
  In [4]: next(t)
  ---------------------------------------------------------------------------
  StopIteration                             Traceback (most recent call last)
  &lt;ipython-input-4-9494367a8bed&gt; in &lt;module&gt;()
  ----&gt; 1 next(t)
  
  StopIteration: 1
  
  In [5]: def new():
     ...:     yield from test()
     ...:
  
  In [6]: n = new()
  
  In [7]: n
  Out[7]: &lt;generator object new at 0x00000000050F23B8&gt;
  
  In [8]: next(n)
  ---------------------------------------------------------------------------
  StopIteration                             Traceback (most recent call last)
  &lt;ipython-input-8-1c47c7af397e&gt; in &lt;module&gt;()
  ----&gt; 1 next(n)
  
  StopIteration:
  </code></pre>
  
  <p>Is there a way to preserve the <code>value</code> when using <code>yield from</code> ?
  Is this working as intended or maybe it is a bug ?</p>