// PR c++/70627 // { dg-do compile { target c++11 } } struct D; struct A { D *operator->(); }; struct B { template void foo (T &&...) {} }; typedef unsigned char G; enum class H : G; struct C { }; struct D : C { B foo () const { B a; a.foo (d); return B(); } H d; }; struct F : C { void foo (); A f; }; enum class H : unsigned char; void F::foo () { B b = f->foo (); }