When generating random values from a fuzzer, there is no guarantee that each one will be unique. You may ask for 100 cases but get less. It may be possible you get much less.
One solution is to hash each input, store the hashes, and reject inputs with a duplicate hash. We'd need to fail the test after some number of failed attempts to create distinct inputs, perhaps max 20 (2*numberOfRequestedRuns).
Since we'd want a designated union type tag for this failure condition, it makes sense to do this while we're doing a major revision.
Is there any interest in exploring this idea?
When generating random values from a fuzzer, there is no guarantee that each one will be unique. You may ask for 100 cases but get less. It may be possible you get much less.
One solution is to hash each input, store the hashes, and reject inputs with a duplicate hash. We'd need to fail the test after some number of failed attempts to create distinct inputs, perhaps
max 20 (2*numberOfRequestedRuns).Since we'd want a designated union type tag for this failure condition, it makes sense to do this while we're doing a major revision.
Is there any interest in exploring this idea?