merge-script 2b9c351198
Merge bitcoin/bitcoin#33768: refactor: remove dead branches in SingletonClusterImpl
2d23820ee11678d567c75f94c40011ed9f0e274f refactor: remove dead branches in `SingletonClusterImpl` (Lőrinc)

Pull request description:

  Found during review: [cluster mempool: control/optimize TxGraph memory usage](https://github.com/bitcoin/bitcoin/pull/33157#discussion_r2423058928)

  ### Fixes
  `SplitAll()` always calls `ApplyRemovals()` first, for a singleton, it empties the cluster, therefore any `SingletonClusterImpl` passed to `Split()` must be empty.

  `TxGraphImpl::ApplyDependencies()` first merges each dependency group and asserts the group has at least one dependency. Since `parent` != `child`, `TxGraphImpl::Merge()` upgrades the merge target to `GenericClusterImpl`, therefore the `ApplyDependencies()` is never dispatched to `SingletonClusterImpl`.

  ### Coverage proof:
  * https://maflcko.github.io/b-c-cov/fuzz.coverage/src/txgraph.cpp.gcov.html#L1446
  * https://storage.googleapis.com/oss-fuzz-coverage/bitcoin-core/reports/20251103/linux/src/bitcoin-core/src/txgraph.cpp.html#L1446

ACKs for top commit:
  instagibbs:
    ACK 2d23820ee11678d567c75f94c40011ed9f0e274f
  sipa:
    ACK 2d23820ee11678d567c75f94c40011ed9f0e274f

Tree-SHA512: 5135913206c800d5344df61c6654f00917cb85567bc5b821576c7891805cf7689bf47968434a06517d09183dadfefc257d24c42b55a7b99486a4c9b11fc523af
2025-11-07 10:10:50 +00:00
..
2025-10-28 15:33:57 +00:00
2025-10-28 15:33:57 +00:00
2025-09-01 15:10:24 -07:00
2025-05-19 16:40:33 +01:00
2025-09-03 11:23:30 +01:00
2025-05-20 09:30:41 +01:00
2024-11-26 20:47:08 -05:00
2025-05-19 16:40:33 +01:00
2025-09-30 11:06:43 -07:00
2025-09-30 11:06:43 -07:00
2025-09-30 11:06:43 -07:00
2025-10-28 15:33:57 +00:00
2025-04-09 15:59:59 +01:00
2025-04-09 15:59:59 +01:00