Skip to content

Docs for [[clang::no_specializations]] attribute use "explicitly specialized" ambiguously #143719

@jwakely

Description

@jwakely

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 terminology 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.

Metadata

Metadata

Assignees

Labels

clangClang issues not falling into any other categorydocumentationgood first issuehttps://github.com/llvm/llvm-project/contribute

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions