// PR c++/14032 | |
// { dg-do run } | |
template <bool compare> | |
struct outer | |
{ | |
template <bool compare_with,bool second> | |
struct inner // unspecialized compare != compare_with | |
{ | |
static inline bool test() | |
{ | |
return false; | |
} | |
}; | |
template <bool second> // specialization compare == compare_with | |
struct inner<compare,second> | |
{ | |
static inline bool test() | |
{ | |
return true; | |
} | |
}; | |
}; | |
int main () | |
{ | |
bool b = outer<true>::inner<true,false>::test(); | |
return b != true; | |
} |