rust-dirstate: panic if the DirstateMap counters go below 0...
rust-dirstate: panic if the DirstateMap counters go below 0
When modifying the API I hit some... interesting errors (trying to allocate
178GB of RAM, for example) because I failed to keep the counters correctly
updated.
This counter underflow is likely to happen when code is changed around
and can have up to eat-your-dirstate level of consequences, which is not nice.
The very small runtime cost of checking these counters should really not be an
issue and will help us uncover bugs when/if they do appear in the future.
Differential Revision:
https://phab.mercurial-scm.org/D12430