2 // { dg-do compile { target c++11 } }
4 struct ScopeGuardGenerator { };
8 template < class F, class ... Ts >
10 operator () (F & ...) // { dg-warning "omission of ',' before varargs '...' is deprecated" "" { target c++26 } }
12 const int n = sizeof ... (Ts) + 1;
14 auto _on_scope_exit_var_0 =
15 ScopeGuardGenerator () + [&mutexes] { };
20 int operator+ (ScopeGuardGenerator, F) { return 1; }
24 template < class T0, class T1, class T2, class ... T >
26 operator () (T0, T1, const T2 & t2, T & ... t)
37 run_with_locks ([] { }, 0, 0);