title: Why C++20 doesn't support out-of-order designated initializer?
body: <p>While I was reading <a href="https://en.cppreference.com/w/cpp/language/aggregate_initialization#Designated_initializers" rel="noreferrer">C++ reference</a>, I had a question about this paragraph:</p>
  
  <blockquote>
    <p>Note: out-of-order designated initialization, nested designated
    initialization, mixing of designated initializers and regular
    initializers, and designated initialization of arrays are all
    supported in the C programming language, but are not allowed in C++.</p>
  </blockquote>
  
  <p>Is there any technical reason that prevents C++ from supporting out-of-order designated initialization?</p>