| // RUN: rm -rf %t | |
| // RUN: mkdir -p %t | |
| // RUN: split-file %s %t | |
| // | |
| // RUN: %clang -std=c++20 %t/a.cppm --precompile -o %t/a.pcm | |
| // RUN: %clang -std=c++20 %t/test.cc -fprebuilt-module-path=%t -fsyntax-only -Xclang -verify | |
| //--- a.h | |
| namespace ns { | |
| template <typename G> static void func() {} | |
| template <typename T = long> void a() { func<T>(); } | |
| } | |
| //--- a.cppm | |
| module; | |
| #include "a.h" | |
| export module a; | |
| export using ns::a; | |
| //--- test.cc | |
| import a; | |
| auto m = (a(), 0); | |
| // expected-no-diagnostics |