<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:rikka@google.com" title="Kaelyn Takata <rikka@google.com>"> <span class="fn">Kaelyn Takata</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - weird typo correction to member of class template specialization"
   href="http://llvm.org/bugs/show_bug.cgi?id=18685">bug 18685</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;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

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

         <tr>
           <td style="text-align:right;">Assignee</td>
           <td>unassignedclangbugs@nondot.org
           </td>
           <td>rikka@google.com
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - weird typo correction to member of class template specialization"
   href="http://llvm.org/bugs/show_bug.cgi?id=18685#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - weird typo correction to member of class template specialization"
   href="http://llvm.org/bugs/show_bug.cgi?id=18685">bug 18685</a>
              from <span class="vcard"><a class="email" href="mailto:rikka@google.com" title="Kaelyn Takata <rikka@google.com>"> <span class="fn">Kaelyn Takata</span></a>
</span></b>
        <pre>r201056 has been committed to exclude classes that are template specializations
as potential nested-name-specifiers unless the existing nested-name-specifier
is a template specialization.


As a side note, while it probably could use a bit of tuning, correcting both
the name and the nested-name-specifier isn't as low-confidence as your example
might indicate, and has proven quite useful. For example, what if
llvm::BitVector had been declared, but you accidentally typed just "Bitvector"
outside of the llvm namespace (and without a corresponding using statement), or
maybe typed "clang::BitVEctor" because you had just typed in a bunch of stuff
that required "clang::" instead of "llvm::"? Right now both cases would get
corrected to "llvm::BitVector". ;) There are also multiple cases in four of the
unit tests where the combined correction gives the expected correction,
including examples pulled from previous bug reports such as correcting the enum
names in a switch statement to have the right nested-name-qualifier after the
enum was moved into a class (see the correction for PREDICAT in
test/SemaCXX/typo-correction-pt2.cpp).</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>