Happens on all recent builds. Seemingly unrelated to any code changes.

Last pass: https://ci.appveyor.com/project/DrahtBot/bitcoin/builds/30240770
First fail: https://ci.appveyor.com/project/DrahtBot/bitcoin/builds/30241275
First fail on master: https://ci.appveyor.com/project/DrahtBot/bitcoin/builds/30241926

The first fail happened on the 0.19 branch. Is the appveyor cache shared across branches?

Otherwise it could be a msvc update or another dependency that broke it. If so, I wish we figure out a way to freeze the dependencies and compileres in some way.


```
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(330,10): error C2976: 'std::deque': too few template arguments [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(330,1): error C2079: 'last_few' uses undefined class 'std::deque' [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C2672: 'begin': no matching overloaded function found [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C2893: Failed to specialize function template 'unknown-type std::begin(_Container &)' [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C2784: 'const _Elem *std::begin(std::initializer_list<_Elem>) noexcept': could not deduce template argument for 'std::initializer_list<_Elem>' from 'int' [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C2672: 'end': no matching overloaded function found [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C2893: Failed to specialize function template 'unknown-type std::end(_Container &)' [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C2784: 'const _Elem *std::end(std::initializer_list<_Elem>) noexcept': could not deduce template argument for 'std::initializer_list<_Elem>' from 'int' [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C3536: '<begin>$L0': cannot be used before it is initialized [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C3536: '<end>$L0': cannot be used before it is initialized [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
C:\projects\bitcoin\src\test\cuckoocache_tests.cpp(341,1): error C2100: illegal indirection [C:\projects\bitcoin\build_msvc\test_bitcoin\test_bitcoin.vcxproj]
{
    SeedInsecureRand(SeedRand::ZEROS);
    CuckooCache::cache<uint256, SignatureCacheHasher> cc{};
    size_t megabytes = 4;
    cc.setup_bytes(megabytes << 20);
    for (int x = 0; x < 100000; ++x) {
        cc.insert(InsecureRand256());
    }
    for (int x = 0; x < 100000; ++x) {
        BOOST_CHECK(!cc.contains(InsecureRand256(), false));
    }
};
/** This helper returns the hit rate when megabytes*load worth of entries are
 * inserted into a megabytes sized cache
 */
template <typename Cache>
static double test_cache(size_t megabytes, double load)