You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
880 B
30 lines
880 B
4 months ago
|
BEGIN
|
||
|
template<typename T = int> struct A {};
|
||
|
template<typename T> struct B {};
|
||
|
template<typename T> struct C;
|
||
|
template<typename T> struct D;
|
||
|
template<typename T> struct E;
|
||
|
template<typename T = int> struct G;
|
||
|
template<typename T = int> struct H;
|
||
|
template<typename T> struct J {};
|
||
|
template<typename T = int> struct J;
|
||
|
struct K : J<> {};
|
||
|
template<typename T = void> struct L;
|
||
|
struct FriendL {
|
||
|
template<typename T> friend struct L;
|
||
|
};
|
||
|
END
|
||
|
|
||
|
namespace DeferredLookup {
|
||
|
template<typename T, typename U = T> using X = U;
|
||
|
template<typename T> void f() { (void) X<T>(); }
|
||
|
template<typename T> int n = X<T>();
|
||
|
template<typename T> struct S { X<T> xt; enum E : int; };
|
||
|
template<typename T> enum S<T>::E : int { a = X<T>() };
|
||
|
|
||
|
namespace Indirect {
|
||
|
template<typename, bool = true> struct A {};
|
||
|
template<typename> struct B { template<typename T> using C = A<T>; };
|
||
|
}
|
||
|
}
|