// PR c++/49387 #include struct ResourceMonitorClient { }; template struct ResourcePool : public ResourceMonitorClient { virtual ~ResourcePool() { } }; template struct BaseWriter { BaseWriter() { typeid(ResourcePool*); } virtual void run() { ResourcePool pool; } }; BaseWriter b;