diff --git a/Zend/tests/interface_with_tostring.phpt b/Zend/tests/interface_with_tostring.phpt new file mode 100644 index 00000000000..a7771c5e27a --- /dev/null +++ b/Zend/tests/interface_with_tostring.phpt @@ -0,0 +1,18 @@ +--TEST-- +Interface with __toString() method +--FILE-- +getInterfaceNames()); + +?> +--EXPECT-- +array(1) { + [0]=> + string(10) "Stringable" +} diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 4d3fe724769..b51deb97b5a 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -2347,7 +2347,6 @@ ZEND_API zend_result ZEND_FASTCALL is_smaller_or_equal_function(zval *result, zv ZEND_API bool ZEND_FASTCALL zend_class_implements_interface(const zend_class_entry *class_ce, const zend_class_entry *interface_ce) /* {{{ */ { uint32_t i; - ZEND_ASSERT(!(class_ce->ce_flags & ZEND_ACC_INTERFACE)); ZEND_ASSERT(interface_ce->ce_flags & ZEND_ACC_INTERFACE); if (class_ce->num_interfaces) {