summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xZend/zend_interfaces.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index c203376077..3282e0dd62 100755
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -285,7 +285,7 @@ static int zend_implement_traversable(zend_class_entry *interface, zend_class_en
/* check that class_type is traversable at c-level or implements at least one of 'aggregate' and 'Iterator' */
int i;
- if (class_type->get_iterator) {
+ if (class_type->get_iterator || (class_type->parent && class_type->parent->get_iterator) {
return SUCCESS;
}
for (i = 0; i < class_type->num_interfaces; i++) {