// PR c++/43382 // { dg-options "-std=c++0x" } template struct Container { T f() const; }; template T deref(const T& t) { return t; } template auto deref(const T& u, int r, Args... args) -> decltype(deref(u.f(), args...)) { return deref(u.f(), args...); } int main(void) { Container> v; deref(v,1,2); }