MNT: make _setattr_cm more forgiving#17649
Merged
tacaswell merged 2 commits intomatplotlib:masterfrom Jun 16, 2020
Merged
Conversation
Our attempts to identify the set of cases we wanted to support did not
correctly capture all relevant cases. This tries to simplify the
logic:
- if the attribute is in the instance dict, stash and restore it via
setattr at the end
- if the attribute is not on the object, delete it with delattr at
the end
- if the object has the attribute, but it is not in the instance
dict:
- if it is a property, stash and restore the old value
- in all other cases assume that setattr will put the value in the
instance dict and delattr will do what we want on the way out
closes matplotlib#17646
anntzer
approved these changes
Jun 16, 2020
Contributor
anntzer
left a comment
There was a problem hiding this comment.
works for me :)
delattr seems like the right way to go indeed.
6 tasks
QuLogic
approved these changes
Jun 16, 2020
Co-authored-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PR Summary
Our attempts to identify the set of cases we wanted to support did not
correctly capture all relevant cases. This tries to simplify the
logic:
setattr at the end
the end
dict:
instance dict and delattr will do what we want on the way out
closes #17646
Alternative to #17648
PR Checklist