This use was introduced in #21365, but as pointed out in #22339, this causes compatibility problems.
Just avoid its use for now.
406@@ -407,7 +407,13 @@ void TaprootSpendData::Merge(TaprootSpendData other)
407 merkle_root = other.merkle_root;
408 }
409 for (auto& [key, control_blocks] : other.scripts) {
410- scripts[key].merge(std::move(control_blocks));
411+ // Once P0083R3 is supported by all our targetted platforms,
0test/lint/lint-spelling.sh
1src/script/standard.cpp:410: targetted ==> targeted
ACK 6cf4ea71878c0a83f2e49831e4dfa119c53761b7, successfully compiled on the following systems:
0$ clang --version
1Apple LLVM version 10.0.1 (clang-1001.0.46.4)
2Target: x86_64-apple-darwin18.7.0
3Thread model: posix
4InstalledDir: /Library/Developer/CommandLineTools/usr/bin
0$ make -C depends NO_QT=1 CC=clang-7 CXX='clang++-7 -stdlib=libc++'
1$ ./autogen.sh && CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure -q --disable-tests --disable-bench CC=clang-7 CXX='clang++-7 -stdlib=libc++' && make clean > /dev/null
2$ make
Before:
0$ make V=1
1Making all in src
2make[1]: Entering directory '/bitcoin-core/src'
3make[2]: Entering directory '/bitcoin-core/src'
4make[3]: Entering directory '/bitcoin-core'
5make[3]: Leaving directory '/bitcoin-core'
6/usr/bin/ccache clang++-7 -stdlib=libc++ -std=c++17 -DHAVE_CONFIG_H -I. -I../src/config -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -I. -I./secp256k1/include -I/bitcoin-core/depends/x86_64-pc-linux-gnu/include -I./leveldb/include -I./leveldb/helpers/memenv -I./univalue/include -I/bitcoin-core/depends/x86_64-pc-linux-gnu/include/ -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -DPROVIDE_FUZZ_MAIN_FUNCTION -fdebug-prefix-map=/bitcoin-core/src=. -Wstack-protector -fstack-protector-all -fPIE -pipe -O2 -MT script/libbitcoin_common_a-standard.o -MD -MP -MF script/.deps/libbitcoin_common_a-standard.Tpo -c -o script/libbitcoin_common_a-standard.o `test -f 'script/standard.cpp' || echo './'`script/standard.cpp
7script/standard.cpp:410:22: error: no member named 'merge' in 'std::__1::set<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >, ShortestVectorFirstComparator, std::__1::allocator<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >'
8 scripts[key].merge(std::move(control_blocks));
9 ~~~~~~~~~~~~ ^
101 error generated.
11make[2]: *** [Makefile:8408: script/libbitcoin_common_a-standard.o] Error 1
12make[2]: Leaving directory '/bitcoin-core/src'
13make[1]: *** [Makefile:16141: all-recursive] Error 1
14make[1]: Leaving directory '/bitcoin-core/src'
15make: *** [Makefile:820: all-recursive] Error 1
After: (passes)
std::filesystem
.
sipa
jonatack
benthecarman
hebasto
MarcoFalke
fanquake
Milestone
22.0