<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/143719>143719</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Docs for [[clang::no_specializations]] attribute use "explicitly specialized" ambiguously
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          jwakely
      </td>
    </tr>
</table>

<pre>
    https://clang.llvm.org/docs/AttributeReference.html#no-specializations says (emphasis mine):

> `[[clang::no_specializations]]` can be applied to function, class, or variable templates which should not be **explicitly specialized** by users. This is primarily used to diagnose user specializations of standard library type traits.

This seems like a poor choice of wording. The C++ standard talks about "partial specializations" and "explicit specializations", but what Clang refers to as "explicitly specialized" seems to be both. I think this is an internal term used within the clang codebase and does not match the terminilogy of the C++ standard.

IMHO it would make more sense for user-facing docs to use the standard terminology, or pick a completely different term which isn't ambiguous.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMlN2K6zYQx59GuRk22HI-1he-yO429FyUQul9Gctje05kyUjjTd2nL1JydktYygGRGDSa-c9vPjBGHhxRo_Yvav-2wUVGH5rvV7yQXTet79ZmFJmjqk5Kn5U-G4tu2Fr7Pm19GJQ-d95Epc8nkcDtIvQH9RTIGdqOMlmlK-ef4kyG0fI_KOxdhIhrBKWfaZpHjBxhYkdK1ylKkU_1C6hDkVW95JDpqjo5_9eDL7V_S-dQgEEHLQHOs2XqQDz0izPJSOlXMBZjTB8-wDsGxtYSCE2zRaEI15HNCHH0i-3AeUmelD4pfaK_Z8uGxa7wEZq62x20KyyRQtzCnyNH4Ahz4AkD23yRVXSMg_ORsiU8ovA9REHXYejAchswrCDrTCABWeL2xiN7j0RTBMsXAoTZ-wBm9Gwo-bj60LEbkg6CV6VflH75dCxoLxGw9YuA0nrGIIz2UYvSGtB1yeJH0l-YJIbtInAdUeA1lQZCKnlMuWL87-tHZPqegviEt_UybuEbyMjukn4zP3TATig4tCAUphvGKycrkJEgdwMY31GLkbLgzlPMRZtQzJit0lN2bP2wJjzyBZU72m-__fo7sMA1l37CC8HkA0EkFwl6H3Ldnno07AZI3Z70L5Gy00_EOaBPAe9dNrO5AILx02xJyK7QcZ9nQ26Z3XqOo1P6KIBTy8Pil7jddE3V1VWNG2rK464-7Kv6WGzGpqr7Q3vAon0-tkVV9DXty_Kg--d2R7Q3uOFGF3pfHMqy3O3rqtiWuqz7_fPR9Eet675Tu4ImZPsxwBuOcaGm3FXHst5YbMnGvAy0vo2d1mkvhCY9eGqXIapdYTlK_HQhLJaat0Qm4frpoQX8sTMyzv9tnA86dt0swT4spYFlXNqt8ZPS56Tr_vc0B_-djCh9znmmRXVP9b3R_wYAAP__ea20OA">