--- Log opened Thu Jun 09 00:00:48 2022 02:15 < darosior> For https://github.com/bitcoin/bitcoin/pull/24860#discussion_r893109311, we could use unordered_set but it adds yet another requirement on all context and doesn't really get to the heart of the problem: when parsing we should only check duplicates for the top level node instead of repeating the same calculation over and over. Maybe instead of 02:15 < darosior> always computing it in the constructor, we could just use a cache and compute it only once CheckDuplicateKey() is called? That's again a verbose change i should have thought about it earlier.. 02:37 < darosior> Ha, NodeRef is a pointer to a const Node.. :/ 04:16 < darosior> I've detailed 3 approaches in the thread, i like none of them. Ideas/comments welcome 07:31 <@sipa> darosior: I've responded. Yeah, we should have seen that coming... 11:39 < sanket1729> andytoshi: I think we need something like this. https://github.com/rust-bitcoin/rust-miniscript/pull/431#issuecomment-1151470715. The Option<> solution seems ugly 12:16 -!- darosior [~darosior@194.36.189.246] has quit [Read error: Connection reset by peer] 12:17 -!- darosior [~darosior@194.36.189.246] has joined ##miniscript 12:34 < andytoshi> sanket1729: i like it 13:10 < darosior> The miniscript_string targets produces stack overflows 13:10 < darosior> https://cirrus-ci.com/task/4544256453902336 13:11 < darosior> Didn't we set a limit to the stack size when parsing? 13:12 < darosior> Oh fanquake had an open issue already at https://github.com/bitcoin/bitcoin/issues/25323 18:07 -!- darosior [~darosior@194.36.189.246] has quit [Ping timeout: 276 seconds] 18:24 -!- darosior [~darosior@194.36.189.246] has joined ##miniscript 19:30 -!- darosior [~darosior@194.36.189.246] has quit [Ping timeout: 246 seconds] 19:41 -!- darosior [~darosior@194.36.189.246] has joined ##miniscript --- Log closed Fri Jun 10 00:00:48 2022