Is
char x[10] = "banana";
considered to be a implicit conversion from const char[7] to char[10]?
Since std::is_convertible<const char[7], char[10]>::value evaluates to false the obvious answer would be that it isn't, but I couldn't find a proper definition of implicit conversion anywhere. Reading cppreference I'd say that it is because:
Implicit conversions are performed whenever an expression of some type T1 is used in context that does not accept that type, but accepts some other type T2; in particular: ... when initializing a new object of type T2, including return statement in a function returning T2;
although I'm not sure why they didn't exclude explicit constructors from this case.
Follow-up question (which may be useless):
Are arrays completely excluded from any kind of conversions (meaning array-to-array conversions) ?