it's not sufficient to prefer the declaration with more default arguments, or the one that's visible; they might both be visible, but one of them might have a visible default argument where the other has a hidden default argument. llvm-svn: 247486
17 lines
439 B
C++
17 lines
439 B
C++
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
|