Files
bitcoin/src/kernel
merge-script 15a7a4ed7c Merge bitcoin/bitcoin#35952: kernel: prevent dangling iterators from temporary ranges
fc0dcf950f kernel: keep range iterators tied to their owner (Lőrinc)
0936c55f62 test: 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:
    ACK fc0dcf950f
  yuvicc:
    ACK fc0dcf950f
  sedited:
    ACK fc0dcf950f

Tree-SHA512: 85ae1f8d4c62a762a10c546ebb312f126efc5ef349557dd235c81b585bef92cbb6c4a565734d85d315641a169f48b6032b859f5a9f070bc347b1424b05473e5d
2026-08-18 15:25:33 +02:00
..