-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Labels
clang:diagnosticsNew/improved warning or error message in Clang, but not in clang-tidy or static analyzerNew/improved warning or error message in Clang, but not in clang-tidy or static analyzer
Description
The following code is passed in gcc and msvc, but clang gives a bogus diagnostic deduced type 'B<T>' (aka 'A<type-parameter-0-0>') of deduction guide is not written as a specialization of template 'A'.
The reason is that when clang compares the equality of two Template-kind TemplateName, it doesn't seem to consider the TypeAliasTemplateDecl case.
template<typename T> struct A {};
A(void) -> A<int>;
template<typename T> using B = A<T>;
template<typename T> A(T) -> B<T>;
Metadata
Metadata
Assignees
Labels
clang:diagnosticsNew/improved warning or error message in Clang, but not in clang-tidy or static analyzerNew/improved warning or error message in Clang, but not in clang-tidy or static analyzer