https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93470
Bug ID: 93470
Summary: [C++2a] std::reference_wrapper to function type is
broken
Product: gcc
Version: 9.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: frankhb1989 at gmail dot com
Target Milestone: ---
In `std::reference_wrapper::operator()` in <bits/refwrap.h>:
#if __cplusplus > 201703L
static_assert(sizeof(type), "type must be complete");
#endif
The static assertion is ill-formed when `type` is a function type, required by
instantiation of function template specialization
`std::reference_wrapper<T>::operator()` when `T` is a function type.