[Macros] Don't stop lookup early if we found a macro.

This commit is contained in:
Doug Gregor
2022-12-22 22:33:36 -08:00
parent 806b5a8777
commit 36dd677011
2 changed files with 8 additions and 6 deletions

View File

@@ -176,10 +176,12 @@ void ModuleNameLookup<LookupStrategy>::lookupInModule(
getDerived()->canReturnEarly());
if (canReturnEarly &&
resolutionKind == ResolutionKind::Overloadable) {
// If we only found top-level functions, keep looking, since we may
// find additional overloads.
// If we only found top-level functions or macros, keep looking, since
// we may find additional overloads.
if (std::all_of(decls.begin() + initialCount, decls.end(),
[](ValueDecl *VD) { return isa<FuncDecl>(VD); }))
[](ValueDecl *VD) {
return isa<FuncDecl>(VD) || isa<MacroDecl>(VD);
}))
canReturnEarly = false;
}