diff --git a/Zend/tests/type_declarations/union_types/variance/invalid_004.phpt b/Zend/tests/type_declarations/union_types/variance/invalid_004.phpt new file mode 100644 index 00000000000..db16fecbac4 --- /dev/null +++ b/Zend/tests/type_declarations/union_types/variance/invalid_004.phpt @@ -0,0 +1,13 @@ +--TEST-- +Invalid property inheritance where one direction is valid and the other unresolved +--FILE-- + +--EXPECTF-- +Fatal error: Type of B::$prop must be X|B (as in class A) in %s on line %d diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index 9b8a47f365b..1a27bbdfb6c 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -966,7 +966,7 @@ inheritance_status property_types_compatible( if (status1 == INHERITANCE_ERROR || status2 == INHERITANCE_ERROR) { return INHERITANCE_ERROR; } - ZEND_ASSERT(status1 == INHERITANCE_UNRESOLVED && status2 == INHERITANCE_UNRESOLVED); + ZEND_ASSERT(status1 == INHERITANCE_UNRESOLVED || status2 == INHERITANCE_UNRESOLVED); return INHERITANCE_UNRESOLVED; }