mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-09-13 06:04:42 +02:00
fc0dcf950fkernel: keep range iterators tied to their owner (Lőrinc)0936c55f62test: characterize kernel range iterators (Lőrinc) Pull request description: **Problem:** Kernel wrapper methods return `Range` views by value, but their iterators point to the `Range` object. Saving an iterator from a temporary view, such as `block.Transactions().begin()`, leaves it pointing to the destroyed view, so later use has undefined behavior. **Fix:** Make range iterators point to the underlying Kernel wrapper object and use the range's compile-time getter for element access. Remove `operator->`, which returned elements by value and could not easily support arrow expressions. ACKs for top commit: purpleKarrot: ACKfc0dcf950fyuvicc: ACKfc0dcf950fsedited: ACKfc0dcf950fTree-SHA512: 85ae1f8d4c62a762a10c546ebb312f126efc5ef349557dd235c81b585bef92cbb6c4a565734d85d315641a169f48b6032b859f5a9f070bc347b1424b05473e5d