mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-16 04:14:11 +01:00
964c44cdcdtest(miniscript): Prove avoidance of stack overflow (Hodlinator)198bbaee49refactor(miniscript): Destroy nodes one full subs-vector at a time (Hodlinator)50cab8570erefactor(miniscript): Remove NodeRef & MakeNodeRef() (Hodlinator)15fb34de41refactor(miniscript): Remove superfluous unique_ptr-indirection (Hodlinator)e55b23c170refactor(miniscript): Remove Node::subs mutability (Hodlinator)c6f798b222refactor(miniscript): Make fields non-const & private (Hodlinator)22e4115312doc(miniscript): Remove mention of shared pointers (Hodlinator) Pull request description: Removes one level of unnecessary indirection, which was a change that originally [aided in finding one issue](https://github.com/bitcoin/bitcoin/pull/30866#pullrequestreview-2434704657) in #30866. Simplifies the code one step further than09a1875ad8belonging to aforementioned PR. Also adds test which verifies resistance to stack overflow when it comes to `~Node()` and `Node::Clone()`. No observed difference when running benchmarks: ExpandDescriptor/WalletIsMineDescriptors/WalletIsMineMigratedDescriptors/WalletLoadingDescriptors. Followup to #30866. ACKs for top commit: achow101: ACK964c44cdcddarosior: Code review ACK964c44cdcdl0rinc: ACK964c44cdcdTree-SHA512: 32927e8f0f916fb70372ffd110f7ec7207d9e7a099c21c0a7482a12e96593b673c339719f4ab166ad7c086dc43767315fc1742c5b236a3facc45c4cfeb5872e9