Made LiquidMetalInterface
instance pickable
#209
Merged
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.
The reason why a
LiquidMetalInterface
instance was not pickable was because alambda
function was used in the__add_property()
method.The solution implemented is to replace such
lambda
function passed tosetattr()
in the__add_property()
method with the private__property_info()
method of theLiquidMetalInterface
class. This way pickle can reference the name of such private method. This also implies the need to usefunctools.partial
to define the method to add to theLiquidMetalInterface
instance in__add_property()
, so that you can only define the method to call and not call it.