Open
Description
Example:
template <typename U, typename T>
concept True = true;
template <typename K>
struct Foo {
template <True<K> U>
void method(U t);
};
void s() {
Foo<int> k;
k.method(1);
}
Clang generates mangled name _ZN3FooIiE6methodITk4TrueIT_EiEEvS3_
for the template specialization Foo<int>::method
. However this mangled name can not be demangled by the official tool llvm-cxxfilt
.
It looks like something wrong with the constrain True
part.
PS. gcc trunk generates a different name _ZN3FooIiE6methodIiEEvT_
, which can be demangled, but it doesn't contain the constraint.