export template <class N>
class Alloc {
public:
// virtual N *get(); // it doesn't happen if we add this declaration
virtual ~Alloc(); // it only happens with destructors
};
class ThreadAlloc;
class Thread {
public:
static ThreadAlloc storage;
};
class ThreadAlloc : public Alloc<Thread> {
public:
virtual ~ThreadAlloc();
};
ThreadAlloc::~ThreadAlloc() {}