view gcc/testsuite/g++.dg/template/ptrmem31.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/80639
// { dg-do compile { target c++14 } }

template < typename > struct A;

struct B
{ 
  template < int > void m ();
  template < int > struct K { static void n (); };
  void p () { K < 0 >::n (); }
};

template <> struct A < B >
{ 
  using T = void (A::*)();
  template < int u > static constexpr T h = &B::m < u >; // { dg-error "cannot convert" }
};

template < int v > void B::K < v >::n ()
{ 
  using S = A < B >;
  S::h < 0 >;
}