Comment #3 on issue 2684 by ronan.l...@gmail.com: Deepcopy does not work on evaluate False
http://code.google.com/p/sympy/issues/detail?id=2684

Actually, __reduce__ and __reduce_ex__ bypass the standard pickling and copy protocols, so it would be nicer to avoid using them. However, pickling (protocol 2) and copying build the new instance by calling its constructor with some specifiable arguments, but without keyword arguments, and since 'evaluate' is keyword-only, there's no way to set it to False.

So, implementing __reduce__ is necessary, but even then, it's not straightforward to get it to do what we need: see http://stackoverflow.com/questions/5238252/unpickling-new-style-with-kwargs-not-possible . We need to have a picklable function without keyword arguments that can rebuild an object without evaluating it, or perhaps one that creates a blank object, but I'm not sure of what the best option is.

--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To post to this group, send email to sympy-issues@googlegroups.com.
To unsubscribe from this group, send email to 
sympy-issues+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en.

Reply via email to