This working is entirely necessary for C++-style handle-iterators to work. Rust&#x27;s slice iterators are implemented in the exact same fashion precisely because C&#x2F;C++ does this a lot and LLVM is trained to &quot;get&quot; it.