From: SourceForge.net <no...@so...> - 2006-11-29 05:56:44
|
Bugs item #1605023, was opened at 2006-11-29 00:56 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1605023&group_id=12867 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: targeted for 2.2beta1 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Charles Groves (cgroves) Assigned to: Charles Groves (cgroves) Summary: __new__ not called on metaclass when a class is created Initial Comment: __new__ isn't called on the metaclass of a Class when it's created. This causes metaclass in test_descr to fail. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1605023&group_id=12867 |
From: SourceForge.net <no...@so...> - 2006-12-22 18:55:51
|
Bugs item #1605023, was opened at 2006-11-29 05:56 Message generated for change (Comment added) made by leouserz You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1605023&group_id=12867 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: targeted for 2.2beta1 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Charles Groves (cgroves) Assigned to: Charles Groves (cgroves) Summary: __new__ not called on metaclass when a class is created Initial Comment: __new__ isn't called on the metaclass of a Class when it's created. This causes metaclass in test_descr to fail. ---------------------------------------------------------------------- Comment By: leouser (leouserz) Date: 2006-12-22 18:55 Message: Logged In: YES user_id=1277399 Originator: NO this is a wicked problem. I want to state this, that __new__ does appear to be called in the metaclass. It seems though that __spam__ is not part of the class __dict__ when returned. Some things noticed: 1. Look at the PyNewWrapper for __new__ in PyType. Notice that the getDict call return an empty Dictionary/PyStringMap. 2. Try accessing the dict of the PyType like so: PyType pt = (PyType)(value returned from call) System.out.println(pt.dict); you should see __spam__ in it. another odd thing, is that the name of the type returned is the metaclasses name. Will continue investigation. leouser ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1605023&group_id=12867 |
From: SourceForge.net <no...@so...> - 2006-12-24 02:45:55
|
Bugs item #1605023, was opened at 2006-11-29 00:56 Message generated for change (Comment added) made by cgroves You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1605023&group_id=12867 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: targeted for 2.2beta1 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Charles Groves (cgroves) Assigned to: Charles Groves (cgroves) Summary: __new__ not called on metaclass when a class is created Initial Comment: __new__ isn't called on the metaclass of a Class when it's created. This causes metaclass in test_descr to fail. ---------------------------------------------------------------------- >Comment By: Charles Groves (cgroves) Date: 2006-12-23 21:45 Message: Logged In: YES user_id=1174327 Originator: YES I've actually looked at this a little bit. __new__ is indeed called, but the dict passed in is ignored because the metatype is an instance of PyTypeDerived. __spam__ is in the dict of the PyType, but because __dict__ is assignable in all Derived classes with a dict instance, the dict there in PyTypeDerived hides the one in PyType. It's been a couple weeks since I touched this, but I should have some time in the coming week to get back to it and see if I had a suitable resolution. ---------------------------------------------------------------------- Comment By: leouser (leouserz) Date: 2006-12-22 13:55 Message: Logged In: YES user_id=1277399 Originator: NO this is a wicked problem. I want to state this, that __new__ does appear to be called in the metaclass. It seems though that __spam__ is not part of the class __dict__ when returned. Some things noticed: 1. Look at the PyNewWrapper for __new__ in PyType. Notice that the getDict call return an empty Dictionary/PyStringMap. 2. Try accessing the dict of the PyType like so: PyType pt = (PyType)(value returned from call) System.out.println(pt.dict); you should see __spam__ in it. another odd thing, is that the name of the type returned is the metaclasses name. Will continue investigation. leouser ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112867&aid=1605023&group_id=12867 |