<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:aaron@aaronballman.com" title="Aaron Ballman <aaron@aaronballman.com>"> <span class="fn">Aaron Ballman</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED WONTFIX - Failed to compile expression with constant operator=()"
   href="https://bugs.llvm.org/show_bug.cgi?id=51399">bug 51399</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>WONTFIX
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
                
           </td>
           <td>aaron@aaronballman.com
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED WONTFIX - Failed to compile expression with constant operator=()"
   href="https://bugs.llvm.org/show_bug.cgi?id=51399#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED WONTFIX - Failed to compile expression with constant operator=()"
   href="https://bugs.llvm.org/show_bug.cgi?id=51399">bug 51399</a>
              from <span class="vcard"><a class="email" href="mailto:aaron@aaronballman.com" title="Aaron Ballman <aaron@aaronballman.com>"> <span class="fn">Aaron Ballman</span></a>
</span></b>
        <pre>My reading of the standard says that Clang is correct to diagnose here. Given
the declaration:
```
field_t<name="degrees"> degrees;
```
This is a simple-declaration whose only decl-specifier is comprised of
simple-type-specifier which is eventually a simple-template-id
(<a href="http://eel.is/c++draft/temp.names#nt:simple-template-id">http://eel.is/c++draft/temp.names#nt:simple-template-id</a>). The
template-argument (<a href="http://eel.is/c++draft/temp.names#nt:template-argument">http://eel.is/c++draft/temp.names#nt:template-argument</a>) for
simple-template-id is not a valid constant-expression because of precedence
rules (<a href="http://eel.is/c++draft/expr.const#nt:constant-expression">http://eel.is/c++draft/expr.const#nt:constant-expression</a>).

I believe that wrapping the expression in parentheses is the correct way to
work around the precedence issue.

Closing as WONTFIX because this appears to be behaving according to
specification. However, if you think my analysis here is incorrect, please
reopen the bug with more details.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>