On Fri, Mar 28, 2008 at 10:51 AM, Collin Winter <[EMAIL PROTECTED]> wrote:
> I've been running 2to3's fix_callable over 2.6's stdlib to remove -3
>  warnings due to callable() usage; 2to3 replaces callable(x) with
>  has_attr(x, "__call__"). Unfortunately, this breaks code that wants to
>  run callable() on old-style classes (like test_builtin), because
>  old-style classes don't have a __call__ attribute (new-style classes
>  do, however).
>
>  How should this be handled? I'm tempted to just add __call__ to
>  old-style classes for 2.6, but Neal Norwitz thought that might break
>  some user code. Any other thoughts?

I don't see how this would break user code, as long as the __call__
shows up for the *class* but not for the *instance*, and as long as it
doesn't break users overriding __call__ in a classic class to make the
instances callable.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to