clangd
clangd copied to clipboard
No implementation found for abstract class
For the following sample cpp code, 'Find All Implementations' on A doesn't find class impl only impl2. Btw implementations of A::f are found correctly. The same is observed on Windows.
I also tried to examine index.dex and got it by... (output is attached at index.yaml)
./clangd-indexer --executor=all-TUs --format=yaml compile_commands.json > index.yaml
I suppose it's related to #1325
template <typename... T>
struct Inherit : T...
{
};
struct A
{
virtual void f() = 0;
};
struct B {};
struct C {};
struct impl: Inherit<A,B,C>
{
virtual void f() override {};
};
struct impl2 : A
{
virtual void f() override {};
};
int main()
{
impl2 i{};
return 0;
}
System Information:
> clangd --version
Ubuntu clangd version 14.0.0-1ubuntu1.1
Features: linux+grpc
Platform: x86_64-pc-linux-gnu
> ./clangd-indexer --version
LLVM (http://llvm.org/):
LLVM version 20.1.8
Optimized build.
Editor/LSP plugin: VSCode/Clangd official plugin Operating system: ubuntu 22.4