I don't currently have a minimal reproducer, but here's a coverage report for trio:
If you look at line 47 or 56, you'll notice that there is no actual code there, but it is still marked red for "missing coverage".
This report aggregates coverage info from a bunch of different CI runs. If you scroll up to the top, and click on the
pypy_nightly_py3_6 button, then this toggles the inclusion of our pypy nightly py3.6 branch CI. If we toggle it off, the anomalous red lines disappear. I conclude from this that coverage.py on the py3.6 branch is producing junk results.
I don't know if this is a pypy bug or a coverage.py bug, but I figured I'd at least open an issue so it doesn't get lost.
I speculate (but haven't confirmed) that you could reproduce this by using the py3.6 branch to run:
git clone https://github.com/python-trio/trio cd trio pip install -r test-requirements.txt pytest --cov=trio --cov-report=html