| // RUN: %clang_cc1 -std=c++20 %t/foo.cppm -I%t -emit-module-interface -o %t/foo.pcm |
| // RUN: %clang_cc1 -fprebuilt-module-path=%t -std=c++20 %t/use.cpp -I%t -fsyntax-only -verify |
| // RUN: %clang_cc1 -std=c++20 %t/foo.cppm -I%t -emit-reduced-module-interface -o %t/foo.pcm |
| // RUN: %clang_cc1 -fprebuilt-module-path=%t -std=c++20 %t/use.cpp -I%t -fsyntax-only -verify |
| template <typename T = int> |
| template <template <typename> typename C = my_array> |
| template <typename T, int *i = nullptr> |
| template <typename T, T *i = nullptr> |
| template <typename T, int *i = &a> |
| template <typename T, T *i = &b> |
| template <int T = (3 > 2)> |
| template <int T = getInt()> |
| // expected-no-diagnostics |