1 // PR c++/52596
2 
3 struct msgpack_zone_finalizer_array {
4     int* tail;
5 };
6 struct msgpack_zone {
7     msgpack_zone_finalizer_array finalizer_array;
8 };
9 struct zone : public msgpack_zone {
10     template <typename T> T* allocate();
11 
12 };
13 template <typename T>
allocate()14 T* zone::allocate()
15 {
16   --msgpack_zone::finalizer_array.tail;
17 }
18