Commit 64c14316 authored by Guido van Rossum's avatar Guido van Rossum

*Semantic change*: when unpickling the instance variables of an

instance, use inst.__dict__.update(value) instead of a for loop with
setattr() over the value.keys().  This is more consistent (the
pickling doesn't use getattr() either but pickles inst.__dict__) and
avoids problems with instances that have a __setattr__ hook.

But it *is* a semantic change (because the setattr hook is no longer
used).  So beware!
parent 3a1a30c2
......@@ -843,8 +843,7 @@ class Unpickler:
try:
setstate = inst.__setstate__
except AttributeError:
for key in value.keys():
setattr(inst, key, value[key])
inst.__dict__.update(value)
else:
setstate(value)
dispatch[BUILD] = load_build
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment