You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
964c44c test(miniscript): Prove avoidance of stack overflow (Hodlinator)
198bbae refactor(miniscript): Destroy nodes one full subs-vector at a time (Hodlinator)
50cab85 refactor(miniscript): Remove NodeRef & MakeNodeRef() (Hodlinator)
15fb34d refactor(miniscript): Remove superfluous unique_ptr-indirection (Hodlinator)
e55b23c refactor(miniscript): Remove Node::subs mutability (Hodlinator)
c6f798b refactor(miniscript): Make fields non-const & private (Hodlinator)
22e4115 doc(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](bitcoin/bitcoin#30866 (review)) in #30866. Simplifies the code one step further than 09a1875 belonging 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:
ACK 964c44c
darosior:
Code review ACK 964c44c
l0rinc:
ACK 964c44c
Tree-SHA512: 32927e8f0f916fb70372ffd110f7ec7207d9e7a099c21c0a7482a12e96593b673c339719f4ab166ad7c086dc43767315fc1742c5b236a3facc45c4cfeb5872e9
0 commit comments