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