Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

command/format: Don't panic when item removed from list of objects #20765

Merged
merged 1 commit into from
Mar 19, 2019

Conversation

apparentlymart
Copy link
Contributor

Due to these tests happening in the wrong order, removing an object from the end of a sequence of objects would previously cause a bounds-check panic.

Rather than a more severe rework of the logic here, for now we'll just introduce an extra precondition to prevent the panic. The code that follows already handles the case where there is no new object (i.e. the "old" object is being deleted) as long as we're able to pass through this type-checking logic.

The new "JSON list of objects - removing item" test covers this problem by rendering a diff for an object being removed from the end of a list of objects within a JSON value.

This fixes #20750.

Due to these tests happening in the wrong order, removing an object from
the end of a sequence of objects would previously cause a bounds-check
panic.

Rather than a more severe rework of the logic here, for now we'll just
introduce an extra precondition to prevent the panic. The code that
follows already handles the case where there _is_ no new object (i.e. the
"old" object is being deleted) as long as we're able to pass through this
type-checking logic.

The new "JSON list of objects - removing item" test covers this problem
by rendering a diff for an object being removed from the end of a list
of objects within a JSON value.
@apparentlymart apparentlymart added this to the v0.12.0 milestone Mar 19, 2019
@apparentlymart apparentlymart self-assigned this Mar 19, 2019
@apparentlymart apparentlymart requested a review from a team March 19, 2019 22:22
@apparentlymart apparentlymart merged commit e918fa8 into master Mar 19, 2019
@apparentlymart apparentlymart deleted the plan-diff-list-panic branch April 18, 2019 14:14
@ghost
Copy link

ghost commented Jul 26, 2019

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators Jul 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0.12-beta1 - Runtime panic calculating diff
2 participants