title: Are non-trivial designated initializers going to be supported in the future (Post C++17)?
body: <p>This is inspired by this <a href="https://stackoverflow.com/questions/51025653/is-it-possible-to-set-a-specific-member-of-an-array-with-initialization-list-in">post</a> where
  <em>non-trivial designated initializers</em> are not supported.</p>
  
  <p>I've already read <a href="https://stackoverflow.com/questions/4900739/why-are-designated-initializers-not-implemented-in-g">this post</a> and some answers claim this feature is already supported.</p>
  
  <p>However, using C++17 and this code:</p>
  
  <pre><code>struct s {
      int a[2];
      s (int b): a{[1]=b} {} // error
  };
  
  s foo(1);
  </code></pre>
  
  <p>I still get the error:</p>
  
  <blockquote>
    <p>sorry, unimplemented: non-trivial designated
    initializers not supported</p>
    
    <p><code>s (int b): a{[1]=b} {}</code></p>
  </blockquote>
  
  <p>I was thinking this feature is really helpful.</p>
  
  <p>So my questions:</p>
  
  <p>Is there a plan to support this for future C++ versions (post C++17)?<br></p>
  
  <ul>
  <li>If <em>not</em>, what is the biggest hindrance why it's not going to be supported<br></li>
  <li>If <em>yes</em>, what is the problem with the current C++ version why it takes too long for this to be supported</li>
  </ul>
  
  <p><strong>COMPILER</strong></p>
  
  <p>GNU C++17 - Check <a href="https://wandbox.org/permlink/vFhLKe2VMx13IxGs" rel="nofollow noreferrer">wandbox</a></p>