Python unittest branch coverage seems to miss executed generator in zip
<p>I don't quite understand what Python's branch coverage stats are trying to tell me. Given code of the form</p>

<pre><code>def f(a, b):
    c = (i for i in a)
    d = (j for j in b)  # Line of interest
    return dict(zip(c, d))

print(f(['a', 'b'], [1, 2]))
</code></pre>

<p>which is imported during unit testing, Python's standard branch coverage tells me that the <code># Line of interest</code> line is only partially covered (<code>n-&gt;-n</code> on the CLI output, "n ↛ exit [?]" in the pretty html report).</p>

<p>The returned dict is clearly printed out, and executing with empty lists still yields the uncovered line.</p>

<p>Am I misinterpreting the coverage output? Does this smell like a bug?</p>

<p>Python 3.5.1, Coverage 4.0.3</p>