[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Modules / Inputs / template-default-args / a.h
blob1541d5f6a1b514174c23fc39df155176198bfc97
1 BEGIN
2 template<typename T = int> struct A {};
3 template<typename T> struct B {};
4 template<typename T> struct C;
5 template<typename T> struct D;
6 template<typename T> struct E;
7 template<typename T = int> struct G;
8 template<typename T = int> struct H;
9 template<typename T> struct J {};
10 template<typename T = int> struct J;
11 struct K : J<> {};
12 template<typename T = void> struct L;
13 struct FriendL {
14 template<typename T> friend struct L;
16 END
18 namespace DeferredLookup {
19 template<typename T, typename U = T> using X = U;
20 template<typename T> void f() { (void) X<T>(); }
21 template<typename T> int n = X<T>();
22 template<typename T> struct S { X<T> xt; enum E : int; };
23 template<typename T> enum S<T>::E : int { a = X<T>() };
25 namespace Indirect {
26 template<typename, bool = true> struct A {};
27 template<typename> struct B { template<typename T> using C = A<T>; };