1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// PR c++/82159 // { dg-do compile } // { dg-options "" } template<int N> struct S { ~S () {} template<int M> S<M> foo () { return S<M> (); } unsigned char data[N]; }; int main () { S<16> d; S<0> t = d.foo<0> (); }