// RUN: %clang_cc1 -std=c++17 -fmodules -verify %s // expected-no-diagnostics #pragma clang module build A module A {} #pragma clang module contents #pragma clang module begin A template struct X {}; auto get() { static int n; return X<&n>(); } using A = decltype(get()); #pragma clang module end #pragma clang module endbuild #pragma clang module build B module B {} #pragma clang module contents #pragma clang module begin B template struct X {}; auto get() { static int n; return X<&n>(); } using B = decltype(get()); #pragma clang module end #pragma clang module endbuild #pragma clang module import A #pragma clang module import B using T = A; using T = B;