// PR c++/52596 struct msgpack_zone_finalizer_array { int* tail; }; struct msgpack_zone { msgpack_zone_finalizer_array finalizer_array; }; struct zone : public msgpack_zone { template T* allocate(); }; template T* zone::allocate() { --msgpack_zone::finalizer_array.tail; }