// { dg-do assemble } // prms-id: 9979 template < class Referencee > class Referencer { public: Referencer() {} }; template <class T> class List { public: List() {} }; template<class T, class KEY> class Dictionary { public: Dictionary() : i_buckets (new List<T>[1234]) {} ~Dictionary() { delete [] i_buckets; } List<T> * i_buckets; }; class Exchangeable {}; class ExchangeableHandle {}; class ExchangeableList : public Dictionary<Referencer<Exchangeable>, ExchangeableHandle> { public: ExchangeableList(int size=0); }; class ObjectExchange { public: ObjectExchange() {} ExchangeableList i_theWatchList; // Instruments being monitored }; int main() { }