Oct. 5, 2001
4:50 p.m.
*** 1805,1810 **** --- 1805,1829 ---- else if (PyType_Check(cls)) { retval = PyObject_TypeCheck(inst, (PyTypeObject *)cls); } + else if (PySequence_Check(cls)) { + int i, n;
Is is possible that a type also passes PySequence_Check? If so, that could lead to confusing behavior.
The only way a type could pass PySequence_Check is if someone subclasses 'type' and adds a __getitem__ method. In that case, it's appropriate that PyType_Check() has prevalence. Also, adding __getitem__ to a type seems to serve no purpose, so I'm not worried about this (and yes, I had thought about this :-). --Guido van Rossum (home page: http://www.python.org/~guido/)