1 // Origin: PR c++/46162
3 struct small_type { char dummy; };
4 struct large_type { char dummy[2]; };
7 struct has_foo_member_variable
9 template<int T::*> struct tester;
10 template<class U> static small_type has_foo(tester<&U::foo> *);
11 template<class U> static large_type has_foo(...);
12 static const bool value = (sizeof(has_foo<T>(0)) == sizeof(small_type));
31 bool b = has_foo_member_variable<A>::value;