I excluded the constructors that appeared to be intentionally non-explicit
or where switching to explicit
seemed non-trivial.
The remaining cases are:
0CTransaction(CMutableTransaction &&tx)
1CTransaction(const CMutableTransaction &tx)
2UniValueType(UniValue::VType _type)
3arith_uint256(const base_uint<256>& b)
4arith_uint256(uint64_t b)
5base_uint(uint64_t b)
6const_iterator(const T* ptr_)
7const_iterator(iterator x)
8const_reverse_iterator(const T* ptr_)
9const_reverse_iterator(reverse_iterator x)
10iterator(T* ptr_)
11reverse_iterator(T* ptr_)
12secure_allocator(const secure_allocator<U>& a)
13zero_after_free_allocator(const zero_after_free_allocator<U>& a)
And also two cases that appear to be incorrectly flagged as single-parameter:
0CMessageHeader(const MessageStartChars& pchMessageStartIn, const char* pszCommand, unsigned int nMessageSizeIn)
1CNetMessage(const CMessageHeader::MessageStartChars& pchMessageStartIn, int nTypeIn, int nVersionIn)
Should any of these be be turned explicit
as part of this PR? :-)