title: Is initializing char array from string literal considered to be a implicit conversion?
body: <p>Is
  <code>char x[10] = &quot;banana&quot;;</code>
  considered to be a implicit conversion from <code>const char[7]</code> to <code>char[10]</code>?</p>
  <p>Since <code>std::is_convertible&lt;const char[7], char[10]&gt;::value</code> evaluates to <code>false</code> the obvious answer would be that it isn't, but I couldn't find a proper definition of implicit conversion anywhere. Reading <a href="https://en.cppreference.com/w/cpp/language/implicit_conversion" rel="nofollow noreferrer">cppreference</a> I'd say that it is because:</p>
  <blockquote>
  <p>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;</p>
  </blockquote>
  <p>although I'm not sure why they didn't exclude explicit constructors from this case.</p>
  <p>Follow-up question (which may be useless):</p>
  <p>Are arrays completely excluded from any kind of conversions (meaning array-to-array conversions) ?</p>