// RUN: %clang_cc1 -std=c++11 -fsyntax-only %s | |
template < bool, class > struct A {}; | |
template < class, int > void f () {}; | |
template < class T, int > | |
decltype (f < T, 1 >) f (T t, typename A < t == 0, int >::type) {}; | |
struct B {}; | |
int main () | |
{ | |
f < B, 0 >; | |
return 0; | |
} | |
template <typename T> | |
auto foo(T x) -> decltype((x == nullptr), *x) { | |
return *x; | |
} | |
void bar() { | |
foo(new int); | |
} |