1 // PR c++/50864
2 
3 namespace impl
4 {
5   template <class T> T create();
6 }
7 
8 template <class T, class U, __SIZE_TYPE__
9 	  = sizeof(impl::create<T>()->*impl::create<U>())>
10 struct foo1;
11 
12 template <class T, class U, __SIZE_TYPE__
13 	  = sizeof(impl::create<T>()->impl::create<U>())> // { dg-error "not a class member" }
14 struct foo2;
15 
16 template <class T, class U, __SIZE_TYPE__
17 	  = sizeof(impl::create<T>().impl::create<U>())> // { dg-error "not a class member" }
18 struct foo3;
19