1 // PR c++/51989
2 // { dg-do compile { target c++11 } }
3 
4 template <typename T>
5 struct is_container
6 {
7   template <typename U, typename V = decltype(((U*)0)->begin())>
8   static char test(U* u);
9 
10   template <typename U> static long test(...);
11 
12   enum { value = sizeof test<T>(0) == 1 };
13 };
14 
main()15 int main()
16 {
17   return is_container<void>::value;
18 }
19