diff --git a/clang-tools-extra/clangd/FindSymbols.cpp b/clang-tools-extra/clangd/FindSymbols.cpp --- a/clang-tools-extra/clangd/FindSymbols.cpp +++ b/clang-tools-extra/clangd/FindSymbols.cpp @@ -88,7 +88,7 @@ getWorkspaceSymbols(llvm::StringRef Query, int Limit, const SymbolIndex *const Index, llvm::StringRef HintPath) { std::vector Result; - if (Query.empty() || !Index) + if (!Index) return Result; // Lookup for qualified names are performed as: diff --git a/clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp b/clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp --- a/clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp +++ b/clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp @@ -216,7 +216,9 @@ AllOf(QName("foo"), WithKind(SymbolKind::Function)), AllOf(QName("ns"), WithKind(SymbolKind::Namespace)))); EXPECT_THAT(getSymbols(TU, ":"), IsEmpty()); - EXPECT_THAT(getSymbols(TU, ""), IsEmpty()); + EXPECT_THAT(getSymbols(TU, ""), + UnorderedElementsAre(QName("foo"), QName("Foo"), QName("Foo::a"), + QName("ns"), QName("ns::foo2"))); } TEST(WorkspaceSymbols, Enums) {