1 // PR c++/70627 2 // { dg-do compile { target c++11 } } 3 4 struct D; 5 struct A 6 { 7 D *operator->(); 8 }; 9 struct B 10 { fooB11 template <typename... T> void foo (T &&...) {} 12 }; 13 typedef unsigned char G; 14 enum class H : G; 15 struct C 16 { 17 }; 18 struct D : C 19 { fooD20 B foo () const { B a; a.foo (d); return B(); } 21 H d; 22 }; 23 struct F : C 24 { 25 void foo (); 26 A f; 27 }; 28 enum class H : unsigned char; foo()29void F::foo () { B b = f->foo (); } 30