[Python-checkins] python/nondist/peps pep-0307.txt,1.20,1.21

tim_one@users.sourceforge.net tim_one@users.sourceforge.net
Mon, 10 Feb 2003 13:25:28 -0800


Update of /cvsroot/python/python/nondist/peps
In directory sc8-pr-cvs1:/tmp/cvs-serv23524

Modified Files:
	pep-0307.txt 
Log Message:
Tried to clarify the point about classic classes and __reduce__.


Index: pep-0307.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/peps/pep-0307.txt,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** pep-0307.txt	9 Feb 2003 17:16:45 -0000	1.20
--- pep-0307.txt	10 Feb 2003 21:25:25 -0000	1.21
***************
*** 143,149 ****
      though, and we'll refer to these collectively as __reduce__.
  
!     IMPORTANT: a classic class cannot provide __reduce__
!     functionality.  It must use __getinitargs__ and/or __gestate__ to
!     customize pickling.  These are described below.
  
      __reduce__ must return either a string or a tuple.  If it returns
--- 143,151 ----
      though, and we'll refer to these collectively as __reduce__.
  
!     IMPORTANT:  while a classic class can implement a __reduce__()
!     method, pickling its instances ignores the method, so that a classic
!     class cannot provide __reduce__ functionality in the sense intended
!     here.  A classic class must use __getinitargs__ and/or __gestate__
!     to customize pickling.  These are described below.
  
      __reduce__ must return either a string or a tuple.  If it returns
***************
*** 625,629 ****
  
      - When the __reduce__ method is inherited from object, it is
!       (unconditionally) replaced by a better one that uses the same 
        APIs as pickle protocol 2: __getnewargs__, __getstate__, and
        __setstate__, handling list and dict subclasses, and handling
--- 627,631 ----
  
      - When the __reduce__ method is inherited from object, it is
!       (unconditionally) replaced by a better one that uses the same
        APIs as pickle protocol 2: __getnewargs__, __getstate__, and
        __setstate__, handling list and dict subclasses, and handling