Testing @ 4f223e93e9c097c96a1655f9125aec463892da9c

```bash
make -C depends/ HOST=x86_64-w64-mingw32 -j8 NO_QT=1 NO_UPNP=1 NO_ZMQ=1 NO_NATPMP=1 DEBUG=1 NO_WALLET=1
./autogen.sh
./configure --prefix=/home/ubuntu/bitcoin/depends/x86_64-w64-mingw32 --enable-fuzz
make -j10
```

```bash
make[3]: Leaving directory '/home/ubuntu/bitcoin'
  CXX      test/fuzz/fuzz-cuckoocache.o
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h: In instantiation of ‘void CuckooCache::cache<Element, Hash>::insert(Element) [with Element = bool; Hash = {anonymous}::RandomHasher]’:
test/fuzz/cuckoocache.cpp:42:67:   required from here
./cuckoocache.h:431:22: error: no matching function for call to ‘swap(std::__debug::vector<bool>::reference, bool&)’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/stl_pair.h:59,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/utility:70,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:60,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/move.h:182:5: note: candidate: ‘template<class _Tp> typename std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >::value>::type std::swap(_Tp&, _Tp&)’
  182 |     swap(_Tp& __a, _Tp& __b)
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/move.h:182:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   deduced conflicting types for parameter ‘_Tp’ (‘std::__cxx1998::_Bit_reference’ and ‘bool’)
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/stl_pair.h:59,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/utility:70,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:60,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/move.h:205:5: note: candidate: ‘template<class _Tp, long long unsigned int _Nm> typename std::enable_if<std::__is_swappable<_Tp>::value>::type std::swap(_Tp (&)[_Nm], _Tp (&)[_Nm])’
  205 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/move.h:205:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   mismatched types ‘_Tp [_Nm]’ and ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’}
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/utility:70,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:60,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/stl_pair.h:495:5: note: candidate: ‘template<class _T1, class _T2> typename std::enable_if<std::__and_<std::__is_swappable<_T1>, std::__is_swappable<_T2> >::value>::type std::swap(std::pair<_T1, _T2>&, std::pair<_T1, _T2>&)’
  495 |     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/stl_pair.h:495:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::pair<_T1, _T2>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/utility:70,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:60,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/stl_pair.h:503:5: note: candidate: ‘template<class _T1, class _T2> typename std::enable_if<(! std::__and_<std::__is_swappable<_T1>, std::__is_swappable<_T2> >::value)>::type std::swap(std::pair<_T1, _T2>&, std::pair<_T1, _T2>&)’ <deleted>
  503 |     swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/stl_pair.h:503:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::pair<_T1, _T2>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/string:55,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/stdexcept:39,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/array:39,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/tuple:39,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:54,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/basic_string.h:6378:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> void std::swap(std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)’
 6378 |     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/basic_string.h:6378:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::__cxx11::basic_string<_CharT, _Traits, _Allocator>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:54,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/tuple:1624:5: note: candidate: ‘template<class ... _Elements> typename std::enable_if<std::__and_<std::__is_swappable<_Elements>...>::value>::type std::swap(std::tuple<_Tps ...>&, std::tuple<_Tps ...>&)’
 1624 |     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/tuple:1624:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::tuple<_Tps ...>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:54,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/tuple:1631:5: note: candidate: ‘template<class ... _Elements> typename std::enable_if<(! std::__and_<std::__is_swappable<_Elements>...>::value)>::type std::swap(std::tuple<_Tps ...>&, std::tuple<_Tps ...>&)’ <deleted>
 1631 |     swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete;
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/tuple:1631:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::tuple<_Tps ...>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:59,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/std_function.h:785:5: note: candidate: ‘template<class _Res, class ... _Args> void std::swap(std::function<_Res(_ArgTypes ...)>&, std::function<_Res(_ArgTypes ...)>&)’
  785 |     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/std_function.h:785:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::function<_Res(_ArgTypes ...)>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/node_handle.h:39,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/hashtable.h:37,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/unordered_map:46,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:61,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/optional:1171:5: note: candidate: ‘template<class _Tp> std::enable_if_t<(is_move_constructible_v<_Tp> && is_swappable_v<_Tp>)> std::swap(std::optional<_Tp>&, std::optional<_Tp>&)’
 1171 |     swap(optional<_Tp>& __lhs, optional<_Tp>& __rhs)
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/optional:1171:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::optional<_Tp>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/node_handle.h:39,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/hashtable.h:37,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/unordered_map:46,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:61,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/optional:1177:5: note: candidate: ‘template<class _Tp> std::enable_if_t<(!(is_move_constructible_v<_Tp> && is_swappable_v<_Tp>))> std::swap(std::optional<_Tp>&, std::optional<_Tp>&)’ <deleted>
 1177 |     swap(optional<_Tp>&, optional<_Tp>&) = delete;
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/optional:1177:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::optional<_Tp>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/memory:80,
                 from ./cuckoocache.h:13,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/unique_ptr.h:701:5: note: candidate: ‘template<class _Tp, class _Dp> typename std::enable_if<std::__is_swappable<_T2>::value>::type std::swap(std::unique_ptr<_Tp, _Dp>&, std::unique_ptr<_Tp, _Dp>&)’
  701 |     swap(unique_ptr<_Tp, _Dp>& __x,
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/unique_ptr.h:701:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::unique_ptr<_Tp, _Dp>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/memory:80,
                 from ./cuckoocache.h:13,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/unique_ptr.h:708:5: note: candidate: ‘template<class _Tp, class _Dp> typename std::enable_if<(! std::__is_swappable<_T2>::value)>::type std::swap(std::unique_ptr<_Tp, _Dp>&, std::unique_ptr<_Tp, _Dp>&)’ <deleted>
  708 |     swap(unique_ptr<_Tp, _Dp>&,
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/unique_ptr.h:708:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::unique_ptr<_Tp, _Dp>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr.h:52,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/memory:81,
                 from ./cuckoocache.h:13,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr_base.h:1520:5: note: candidate: ‘template<class _Tp, __gnu_cxx::_Lock_policy _Lp> void std::swap(std::__shared_ptr<_Tp, _Lp>&, std::__shared_ptr<_Tp, _Lp>&)’
 1520 |     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr_base.h:1520:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::__shared_ptr<_Tp, _Lp>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr.h:52,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/memory:81,
                 from ./cuckoocache.h:13,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr_base.h:1728:5: note: candidate: ‘template<class _Tp, __gnu_cxx::_Lock_policy _Lp> void std::swap(std::__weak_ptr<_Tp, _Lp>&, std::__weak_ptr<_Tp, _Lp>&)’
 1728 |     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr_base.h:1728:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::__weak_ptr<_Tp, _Lp>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/memory:81,
                 from ./cuckoocache.h:13,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr.h:485:5: note: candidate: ‘template<class _Tp> void std::swap(std::shared_ptr<_Tp>&, std::shared_ptr<_Tp>&)’
  485 |     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr.h:485:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::shared_ptr<_Tp>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/memory:81,
                 from ./cuckoocache.h:13,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr.h:606:5: note: candidate: ‘template<class _Tp> void std::swap(std::weak_ptr<_Tp>&, std::weak_ptr<_Tp>&)’
  606 |     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/shared_ptr.h:606:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::weak_ptr<_Tp>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/array:377,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/tuple:39,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:54,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/array:275:5: note: candidate: ‘template<class _Tp, long long unsigned int _Nm> typename std::enable_if<(! typename std::__cxx1998::__array_traits<_Tp, _Nm>::_Is_swappable::value)>::type std::__debug::swap(std::__debug::array<_Tp, _Nm>&, std::__debug::array<_Tp, _Nm>&)’ <deleted>
  275 |     swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete;
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/array:275:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::__debug::array<_Tp, _Nm>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/array:377,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/tuple:39,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:54,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/array:280:5: note: candidate: ‘template<class _Tp, long long unsigned int _Nm> void std::__debug::swap(std::__debug::array<_Tp, _Nm>&, std::__debug::array<_Tp, _Nm>&)’
  280 |     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/array:280:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::__debug::array<_Tp, _Nm>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/unordered_map:52,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:61,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/unordered_map:732:5: note: candidate: ‘template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> void std::__debug::swap(std::__debug::unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>&, std::__debug::unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>&)’
  732 |     swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/unordered_map:732:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::__debug::unordered_map<_Key, _Tp, _Hash, _Pred, _Allocator>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/unordered_map:52,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:61,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/unordered_map:1338:5: note: candidate: ‘template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> void std::__debug::swap(std::__debug::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>&, std::__debug::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>&)’
 1338 |     swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/unordered_map:1338:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::__debug::unordered_multimap<_Key, _Tp, _Hash, _Pred, _Allocator>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/vector:76,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/functional:62,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/pstl/glue_algorithm_defs.h:13,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/algorithm:71,
                 from ./cuckoocache.h:8,
                 from test/fuzz/cuckoocache.cpp:5:
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/vector:766:5: note: candidate: ‘template<class _Tp, class _Alloc> void std::__debug::swap(std::__debug::vector<_Tp, _Alloc>&, std::__debug::vector<_Tp, _Alloc>&)’
  766 |     swap(vector<_Tp, _Alloc>& __lhs, vector<_Tp, _Alloc>& __rhs)
      |     ^~~~
/usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/debug/vector:766:5: note:   template argument deduction/substitution failed:
In file included from test/fuzz/cuckoocache.cpp:5:
./cuckoocache.h:431:22: note:   ‘std::__debug::vector<bool>::reference’ {aka ‘std::__cxx1998::_Bit_reference’} is not derived from ‘std::__debug::vector<_Tp, _Alloc>’
  431 |             std::swap(table[last_loc], e);
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:12854: test/fuzz/fuzz-cuckoocache.o] Error 1
```
{
        assert(fuzzed_data_provider_ptr != nullptr);
        return fuzzed_data_provider_ptr->ConsumeIntegral<uint32_t>();
    }
};
} 
FUZZ_TARGET(cuckoocache)
{
    FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
    fuzzed_data_provider_ptr = &fuzzed_data_provider;
    CuckooCache::cache<bool, RandomHasher> cuckoo_cache{};
    if (fuzzed_data_provider.ConsumeBool()) {
        const size_t megabytes = fuzzed_data_provider.ConsumeIntegralInRange<size_t>(0, 16);
        cuckoo_cache.setup_bytes(megabytes << 20);
    } else {
        cuckoo_cache.setup(fuzzed_data_provider.ConsumeIntegralInRange<uint32_t>(0, 4096));
    }
    while (fuzzed_data_provider.ConsumeBool()) {
        if (fuzzed_data_provider.ConsumeBool()) {
            cuckoo_cache.insert(fuzzed_data_provider.ConsumeBool());
        } else {
            cuckoo_cache.contains(fuzzed_data_provider.ConsumeBool(), fuzzed_data_provider.ConsumeBool());
        }
    }
    fuzzed_data_provider_ptr = nullptr;
}