[Python-checkins] CVS: python/dist/src PLAN.txt,1.1.2.5,1.1.2.6

Guido van Rossum gvanrossum@users.sourceforge.net
Tue, 03 Jul 2001 17:16:04 -0700


Update of /cvsroot/python/python/dist/src
In directory usw-pr-cvs1:/tmp/cvs-serv27602

Modified Files:
      Tag: descr-branch
	PLAN.txt 
Log Message:
Add commentary to tasks for issubtype() and overriding __new__().


Index: PLAN.txt
===================================================================
RCS file: /cvsroot/python/python/dist/src/Attic/PLAN.txt,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -C2 -r1.1.2.5 -r1.1.2.6
*** PLAN.txt	2001/07/01 19:52:44	1.1.2.5
--- PLAN.txt	2001/07/04 00:16:02	1.1.2.6
***************
*** 26,30 ****
  thing yet.  There should be fewer APIs and their implementation should
  be simpler.  The old "abstract subclass" test should probably
! disappear (if we want to root out ExtensionClass).
  
  Check for conflicts between base classes.  I fear that the rules used
--- 26,34 ----
  thing yet.  There should be fewer APIs and their implementation should
  be simpler.  The old "abstract subclass" test should probably
! disappear (if we want to root out ExtensionClass).  *** I think I've
! done 90% of this by creating PyType_IsSubtype() and using it
! appropriately.  For now, the old "abstract subclass" test is still
! there, and there may be some places where PyObject_IsSubclass() is
! called where PyType_IsSubtype() would be more appropriate. ***
  
  Check for conflicts between base classes.  I fear that the rules used
***************
*** 75,79 ****
  
  Make __new__ overridable through a Python class method (!).  Make more
! of the sub-algorithms of type construction available as methods.
  
  More -- I'm sure new issues will crop up as we go.
--- 79,92 ----
  
  Make __new__ overridable through a Python class method (!).  Make more
! of the sub-algorithms of type construction available as methods.  ***
! After I implemented class methods, I found that in order to be able
! to make an upcall to Base.__new__() and have it create an instance of
! your class (rather than a Base instance), you can't use class methods
! -- you must use static methods.  So I've implemented those too.  I've
! hooked up __new__ in the right places, so the first part of this is
! now done (still to do the other construction methods -- unclear that
! we really need any though).  I expect that some warts will only be
! really debugged when we try to use this for some, eh, interesting
! types such as tuples. ***
  
  More -- I'm sure new issues will crop up as we go.