Comment 2 for bug 811792

Revision history for this message
Tres Seaver (tseaver) wrote :

After looking at this, I find that the bug is in formless' MetaTypedInterface, which is trying to hash the partially constructed object from within its own __new__ (i.e., before invoking the __init__ of its superclass).

Note that the proposed change to zope.interface (using '' as the default value for __name__) actually defeats the point of storing the values in the module-scope '_typedInterfaceMetadata' mapping: the object will hash differently after it is fully initialized, and therefore won't be found in that mapping at all. A better fix would be to set __name__ on the instance inside the __new__.