http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57825

--- Comment #2 from Tomasz KamiƄski <tomaszkam at gmail dot com> ---
Propably this is also causing the problem with the standard library is_function
and is_member function traits, because they cannot be implemented correclty.

Example:
struct A
{
  void f_n() {}
  void f_l() &{}
  void f_r() &&{}
};

The following assertions fails incorrectly.
static_assert(std::is_function<void()&>::value, "function");
static_assert(std::is_member_pointer<void (A::*)()&>::value, "member
function");

static_assert(std::is_function<void()&&>::value, "function");
static_assert(std::is_member_pointer<void (A::*)()&&>::value, "member
function");

Reply via email to