title: Struct non-type template parameter + agregate initialization: standard in c++20 or not
body: <p>The following snippet extracted from <a href="https://stackoverflow.com/questions/64703505/class-type-non-type-template-parameter-initialization-does-not-compile">this post</a> compiles with some recent gcc and msvc, but not with the latest clang.</p>
  <p>Will it end compiling with clang, or is it some non-standard stuff that some compilers accept and other don't?</p>
  <p>Thanks!</p>
  <pre class="lang-cpp prettyprint-override"><code>struct Foo
  {
    int a, b;
  };
  
  template&lt;Foo&gt;
  struct Bar
  {};
  
  Bar&lt;{.a=1, .b=2}&gt; bar;
  </code></pre>
  <p>At this time with clang one has to do this to get it compiled:</p>
  <pre class="lang-cpp prettyprint-override"><code>Bar&lt;Foo{.a=1, .b=2}&gt; bar;
  </code></pre>