• Guido van Rossum's avatar
    Cosmetics: · f040ede6
    Guido van Rossum authored
    - Add comment blocks explaining add_operators() and override_slots().
      (This file could use some more explaining, but this is all I had
      breath for today. :)
    
    - Renamed the argument 'base' of add_wrappers() to 'wraps' because
      it's not a base class (which is what the 'base' identifier is used
      for elsewhere).
    
    Small nits:
    
    - Fix add_tp_new_wrapper() to avoid overwriting an existing __new__
      descriptor in tp_defined.
    
    - In add_operators(), check the return value of add_tp_new_wrapper().
    
    Functional change:
    
    - Remove the tp_new functionality from PyBaseObject_Type; this means
      you can no longer instantiate the 'object' type.  It's only useful
      as a base class.
    
    - To make up for the above loss, add tp_new to dynamic types.  This
      has to be done in a hackish way (after override_slots() has been
      called, with an explicit call to add_tp_new_wrapper() at the very
      end) because otherwise I ran into recursive calls of slot_tp_new().
      Sigh.
    f040ede6
typeobject.c 60.2 KB