// PR c++/77890 // { dg-do compile { target c++17 } } template struct S{S(F&&f){}}; void f() { S([]{}); } template struct scope_guard : TF { scope_guard(TF f) : TF{f} { } ~scope_guard() { (*this)(); } }; void g() { struct K { void operator()() {} }; scope_guard _{K{}}; }