blob: 12dc9012c377f02ca1cdb78f7df8ed1c2a730b55 [file] [log] [blame]
// PR c++/52043
// { dg-do compile { target c++11 } }
// { dg-options "-Wreturn-type" }
template < class T > struct Container
{
T f ();
};
template < class T >
T deref (T)
{} // { dg-bogus "no return" }
template < class T, class ... Args >
auto deref (T u, int, Args ... args)->decltype (deref (u.f (), args ...))
{} // { dg-warning "no return" }
void
foo ()
{
Container < Container < int > > v;
deref (v, 2);
}