1 // RUN: %clang_cc1 -std=c++17 -fmodules -verify %s
2 // expected-no-diagnostics
3 
4 #pragma clang module build A
5 module A {}
6 #pragma clang module contents
7 #pragma clang module begin A
8 template<int*> struct X {};
get()9 auto get() { static int n; return X<&n>(); }
10 using A = decltype(get());
11 #pragma clang module end
12 #pragma clang module endbuild
13 
14 #pragma clang module build B
15 module B {}
16 #pragma clang module contents
17 #pragma clang module begin B
18 template<int*> struct X {};
get()19 auto get() { static int n; return X<&n>(); }
20 using B = decltype(get());
21 #pragma clang module end
22 #pragma clang module endbuild
23 
24 #pragma clang module import A
25 #pragma clang module import B
26 using T = A;
27 using T = B;
28