1// PR c++/40780 2// { dg-do compile } 3 4template <class T1, typename T2, typename T3> 5struct A 6{ 7 typedef T2 (T1::*m) (T3); 8 A (m) {} 9}; 10struct B; 11struct C 12{ 13 void foo (B *); 14}; 15typedef A <C, void, B *> D; 16typedef void (C::*E) (B *); 17struct F; 18typedef void (C::*G) (F); 19D d ((E) (G) & C::foo); 20