[clang] [Clang] Emit a diagnostic note at the class declaration when the method definition does not match any declaration. (PR #110638)
Vlad Serebrennikov via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 2 02:20:06 PDT 2024
================
@@ -102,12 +102,13 @@ namespace MultilevelSpecialization {
// default argument -- how far back do we look when determining whether a
// parameter was expanded from a pack?
// -- zygoloid 2020-06-02
- template<typename ...T> struct B {
+ template<typename ...T> struct B { // #defined-here
template <T... V> void f(int i = 0, int (&... arr)[V]);
};
template<> template<int a, int b>
void B<int, int>::f(int i, int (&arr1)[a], int (&arr2)[b]) {}
// since-cxx11-error at -1 {{out-of-line definition of 'f' does not match any declaration in 'cwg2233::MultilevelSpecialization::B<int, int>'}}
+ // expected-note@#defined-here {{defined here}}
----------------
Endilll wrote:
```suggestion
// since-cxx11-note@#cwg2233-B {{defined here}}
```
https://github.com/llvm/llvm-project/pull/110638
More information about the cfe-commits
mailing list