// PR c++/48113 // { dg-do compile { target c++11 } } template T declval(); struct tuple { }; struct F1 { void operator()(tuple, int); }; typedef void (*F2)(tuple, int); template struct Bind { template(), A()) )> R f(A); template(), A()) )> R f(A) volatile; }; int main() { Bind().f(0); // OK Bind().f(0); // ERROR, should be OK }