PR c++/86728 - C variadic generic lambda.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / sfinae51.C
blob380811dce032fa21088fdb1192f1390e5d6f875e
1 // PR c++/59705
2 // { dg-do compile { target c++11 } }
4 struct HasIter {
5    typedef int * const_iterator;
6 };
8 struct NoIter {
9 };
11 template <typename T>
12 constexpr bool foo(const T &, typename T::const_iterator *)
14   return true;
17 template <typename T>
18 constexpr bool foo(const T &, ...)
20   return false;
23 HasIter has_iter;
24 NoIter no_iter;
26 static_assert (!foo(no_iter, 0), "");
27 static_assert (foo(has_iter, 0), "");
28 static_assert (foo<HasIter>(has_iter, 0), "");