Make ResultIteration refuse unsafe operation (option 1) #86
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is one option for making the code behave correctly in the scenario described in #85 (other options in #87, #88).
Previously this could panic anyway (see #85), but only when the nodes in an index line up in a very specify way. This meant that tests may not exercise the bug, and the panic would get into a release.
By adding an explicit panic here we ensure that any basic test coverage of an iteration with modification will fail.
In the case of inserts it would not panic, but could return incorrect results (most likely duplicate). This panic ensures we fail instead of returning incorrect results.
It would have been nice to error instead of panic, but there's no place in the current interface to return an error.
TODO: