I assumed that, since GenNode is composed of copyable and assignable types, the standard implementation will do. But I overlooked the run time type check on the opaque payload type within lib::Variant. When a type mismatch is detected, the default implementation has already assigned and thus altered the IDs. So we need to roll our own implementation, and to add insult to injury, we can't use the copy-and-swap idiom either. |
||
|---|---|---|
| .. | ||
| state-map-grouping-storage-test.cpp | ||