[Bug c++/105967] New: Forming a pointer to ref-qualified member function using a function typedef ignores the qualifier
iamsupermouse at mail dot ru
gcc-bugzilla@gcc.gnu.org
Tue Jun 14 07:25:54 GMT 2022
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 `&&`.
More information about the Gcc-bugs
mailing list