• Guido van Rossum's avatar
    Miscellaneous code fiddling: · 55f2099b
    Guido van Rossum yazdı
    - SLOT1BINFULL() macro: changed this to check for __rop__ overriding
      __op__, like binary_op1() in abstract.c -- the latter only calls the
      slot function once if both types use the same slot function, so the
      slot function must make both calls -- which it already did for the
      __op__, __rop__ order, but not yet for the __rop__, __op__ order
      when B.__class__ is a subclass of A.__class__.
    
    - slot_sq_contains(), slot_nb_nonzero(): use lookup_maybe() rather
      than lookup_method() which sets an exception which we then clear.
    
    - slot_nb_coerce(): don't give up when left argument's __coerce__
    returns NotImplemented, but give the right argument a chance.
    55f2099b
typeobject.c 91.8 KB