[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: 1.6rc3 ctypes python test suite

From: Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA_at_GMail.Com>
Date: Thu, 12 Mar 2009 17:14:25 +0100

2009-03-12 16:33 David James <james82_at_gmail.com> napisał(a):
> On Thu, Mar 12, 2009 at 8:08 AM, Arfrever Frehtes Taifersar Arahesis
> <arfrever.fta_at_gmail.com> wrote:
>>
>> 2009-03-12 16:00 David James <james82_at_gmail.com> napisał(a):
>> > On Thu, Mar 12, 2009 at 4:04 AM, Arfrever Frehtes Taifersar Arahesis
>> > <Arfrever.FTA_at_gmail.com> wrote:
>> >>
>> >> 2009-03-12 11:06 Arkadiusz Miskiewicz <arekm_at_maven.pl> napisał(a):
>> >> >
>> >> > Is this supposed to work correctly with python 2.6? (ctypesgen rev
>> >> > 63):
>> >> >
>> >> > ...
>> >> > TypeError: Error when calling the metaclass bases
>> >> >    metaclass conflict: the metaclass of a derived class must be a
>> >> > (non-strict) subclass of the metaclasses of all its bases
>> >> > make: *** [check-ctypes-python] Błąd 1
>> >>
>> >> ctypesgen generates code (class String in
>> >> ctypesgencore/printer/preamble.py) which currently doesn't work with
>> >> Python >=2.6 :( .
>> >>
>> >
>> > Hi Arfrever, Arkadiusz,
>> > Reading about this issue, it seems like the problem here is that
>> > MutableString and Union have metaclasses, and Python doesn't know how to
>> > automatically generate a metaclass for the String class. How can we do
>> > that
>> > in a portable way that works with Python 2.4 - Python 2.6? Do
>> > MutableString
>> > or Union even have metaclasses in Python 2.4?
>>
>> MutableString class doesn't exist in Python 3, so I suggest to rewrite
>> String
>> class without inheriting from MutableString class (maybe using lists).
>
> Will Python 3.x really get rid of the UserString classes altogether?

UserString.UserString was renamed to collections.UserString.

http://docs.python.org/library/userdict.html#module-UserString
http://docs.python.org/3.0/library/collections.html#collections.UserString

> Maybe this is a mistake on the part of Python developers as it breaks
> compatibility.

It isn't a mistake. Python 3 purposefully breaks compatibility:
http://docs.python.org/3.0/whatsnew/3.0.html

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1313496
Received on 2009-03-12 17:14:41 CET

This is an archived mail posted to the Subversion Dev mailing list.