The entity map needs to be able to distinguish between the case when the entity_id is waiting to be dropped, and when it is completely gone. Before 8bc207141, it assumed that entity_ids in dropped_entity_ids could be re-used. This caused `take_dropped` to error because the slot had been overwritten. The fix there caused weak handles to allow upgrading a reference count from 0, which could resurrect items in `dropped_entity_ids` which caused them to be dropped twice. We could allow weak items to upgrade from 0, and delete from dropped_entity_ids, but that seemed more complicated than necessary.
Conrad Irwin committed on 10/31/2023, 1:09:35 PMparentadc426b
1 file changedLine totals unavailable