The CMapGeneratorWorker thread either succeeds and reaches the delete point, or it is abandoned and reaches the delete point.
The CMapGeneratorWorker dtor waits for the thread to finish one way or another.
rP20035 ensures that the CMapGeneratorWorker dtor is always called.
What is the obvious I missed, or can the struct construction and its warnings be safely removed?