std::vector fill ctor is like this:
// Constructs a vector with `count` copies of elements with value `value`.
explicit vector( size_type count, const T& value = T(), const Allocator& alloc = Allocator() ); // (until C++11)
vector( size_type count, const T& value, const Allocator& alloc = Allocator() ); // (since C++11)(constexpr since C++20)
https://en.cppreference.com/w/cpp/container/vector/vector.html
i.e. std::vector<unsigned char>(0, 65) means a vector with 0 copies of 65 which feels wrong. I believe count and value were swapped in blockfilter_basic_test scripts.