[clang-tools-extra] [clangd] Let DefineOutline tweak handle member function templates (PR #112345)

Nathan Ridge via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 17 20:09:52 PST 2024


================
@@ -443,13 +461,26 @@ class DefineOutline : public Tweak {
         SameFile = true;
 
         // Bail out if the template parameter is unnamed.
+        // FIXME: Is this really needed? It inhibits application on
----------------
HighCommander4 wrote:

Reviewing the discussion [here](https://github.com/llvm/llvm-project/pull/95235#discussion_r1730025569), the reason is that we have to mention the template parameter as part of the out-of-line declaration, e.g.:

Before:
```c++
template <typename T, typename>
struct A {
  void foo() {}
};
```

After:
```c++
template <typename T, typename>
struct A {
  void foo();
};
template <typename T, typename>
void A<T, ???>::foo() {}
```

https://github.com/llvm/llvm-project/pull/112345


More information about the cfe-commits mailing list