// { dg-do assemble } #include template class Vec { public: Vec() { data = new T; } Vec split() { Vec tmp; operator=(tmp); return tmp; } void operator=(const Vec &v) { data = new T; } T *data; }; template class Vec >;