By my analysis, releasing a version of zope.interface with the fallback proposed in the patch is not a reasonable thing to do:
- For "normal" uses of zope.interface, the proposed fallback behavior won't ever be triggered
- For the nevow case: making __hash__ "work" (i.e., not raise AttributeError) before assigning the instance's '__name__' will still lead to a later failure, because the value stored in the dict will not be findable: objects used as keys in a dict *must* have a '__hash__' which always returns the same value for a given instance.
By my analysis, releasing a version of zope.interface with the fallback proposed in the patch is not a reasonable thing to do:
- For "normal" uses of zope.interface, the proposed fallback behavior won't ever be triggered
- For the nevow case: making __hash__ "work" (i.e., not raise AttributeError) before assigning the instance's '__name__' will still lead to a later failure, because the value stored in the dict will not be findable: objects used as keys in a dict *must* have a '__hash__' which always returns the same value for a given instance.