summaryrefslogtreecommitdiff
path: root/src/zope/security/checker.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/zope/security/checker.py')
-rw-r--r--src/zope/security/checker.py10
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,