[clang] [Clang][Sema] Improve support for explicit specializations of constrained member functions & member function templates (PR #88963)
Krystian Stasiowski via cfe-commits
cfe-commits at lists.llvm.org
Thu May 2 05:10:39 PDT 2024
================
@@ -275,6 +275,13 @@ Response HandleFunction(Sema &SemaRef, const FunctionDecl *Function,
TemplateArgs->asArray(),
/*Final=*/false);
+ if (RelativeToPrimary &&
+ (Function->getTemplateSpecializationKind() ==
+ TSK_ExplicitSpecialization ||
----------------
sdkrystian wrote:
@jcsxky There already is a test case which will fail without the condition in this PR:
```cpp
template<typename T>
concept C = sizeof(T) <= sizeof(long);
template<typename T>
struct A {
template<typename U>
void f(U) requires C<U>;
};
template<>
template<typename U>
void A<short>::f(U) requires C<U>;
```
https://github.com/llvm/llvm-project/pull/88963
More information about the cfe-commits
mailing list