 error can actually occur. The Rust compiler</span>
                <span class="comment">// still forces us to provide this match arm, though.</span>
                <span class="macro">unreachable</span><span class="macro">!</span>()
            },
            <span class="comment">// no timeout yet, try again</span>
            <span class="prelude-val">Err</span>(<span class="ident">nb</span>::<span class="ident">Error</span>::<span class="ident">WouldBlock</span>) <span class="op">=</span><span class="