vsapsai added a comment. Sorry for changing my mind. I've thought about the errors more and especially about the case mentioned by Chuanqi
export module A; [export] inline void func(); I'm afraid it can complicate the implementation but we can achieve some consistency with errors like export module A; export inline void func(); // error: no definition for exported inline function 'func' in module 'A' and export module A; export inline void func(); // error: no definition for exported inline function 'func' in module 'A' //... module :private; void func() {} // note: definition here is not reachable as it is private I think it is useful to have connection between declaration and definition and to explain why the definition is no good. Specific wording around "no definition | missing definition | definition required" is flexible. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128328/new/ https://reviews.llvm.org/D128328 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits