diff options
Diffstat (limited to 'src/zope/security/checker.py')
-rw-r--r-- | src/zope/security/checker.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/zope/security/checker.py b/src/zope/security/checker.py index f5541a7..8fbf3ec 100644 --- a/src/zope/security/checker.py +++ b/src/zope/security/checker.py @@ -858,8 +858,14 @@ _default_checkers = { type(f()): _iteratorChecker, type(Interface): InterfaceChecker( IInterface, - __str__=CheckerPublic, _implied=CheckerPublic, subscribe=CheckerPublic, - ), + __str__=CheckerPublic, + _implied=CheckerPublic, + subscribe=CheckerPublic, + # To iterate, Python calls __len__ as a hint. + # Python 2 ignores AttributeErrors, but Python 3 + # lets them pass. + __len__=CheckerPublic, + ), zope.interface.interface.Method: InterfaceChecker( zope.interface.interfaces.IMethod), zope.interface.declarations.ProvidesClass: _Declaration_checker, |