blob: 988f11bcc62de99b359bf648a6b645fabecfad88 [file] [log] [blame]
// PR c++/77890
// { dg-options -std=c++17 }
template<class F> struct S{S(F&&f){}};
void f()
{
S([]{});
}
template <typename TF>
struct scope_guard : TF
{
scope_guard(TF f) : TF{f} { }
~scope_guard() { (*this)(); }
};
void g()
{
struct K { void operator()() {} };
scope_guard _{K{}};
}