https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105967
Bug ID: 105967 Summary: Forming a pointer to ref-qualified member function using a function typedef ignores the qualifier Product: gcc Version: 12.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: iamsupermouse at mail dot ru Target Milestone: --- Consider following code: #include <type_traits> struct A {}; using F = void() &; static_assert(std::is_same_v<F A::*, void(A::*)() &>); GCC fails the static_assert, while Clang and MSVC accept it. Apparently `F A::*` becomes `void(A::*)()`, without `&`. Same happens for `&&`.