// PR c++/79639
// { dg-do compile { target c++14 } }
struct A
{
  void foo () {}
  void bar () {}
};
typedef void (A::*T) ();
constexpr T
foo (T f)
{
  f = 0;
  return f;
}
constexpr T
bar (T f)
{
  f = &A::bar;
  return f;
}
constexpr T a = foo (&A::foo);
constexpr T b = foo (&A::foo);
static_assert (a == nullptr, "");