Skip to content

[Clang][Regression:20][Modules] Name lookup failed to find hidden friend in non-exported base class #133720

Open
@MagentaTreehouse

Description

@MagentaTreehouse

m.cppm

export module m;
struct Base {
    template <class T>
    friend constexpr auto f(T) { return 0; }
};
export struct A: Base {};

main.cpp

import m;
int main() {
    f(A{});
}

See https://compiler-explorer.com/z/v4xdnT7eW.

Error since Clang 20:

main.cpp:3:5: error: use of undeclared identifier 'f'
    3 |     f(A{});
      |     ^

Metadata

Metadata

Assignees

Labels

clang:modulesC++20 modules and Clang Header Modulesregression:20Regression in 20 release

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions