summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-04-28 19:56:10 +0300
committerAnatol Belski <ab@php.net>2016-04-28 19:21:14 +0200
commit75fa8842f4b64f60db65474cb5d3ca9f40875725 (patch)
treefe509454c96bad2be7e911b831ff47105e7fc5ce
parent3b8d4de300854b3517c7acb239b84f7726c1353c (diff)
downloadphp-git-75fa8842f4b64f60db65474cb5d3ca9f40875725.tar.gz
Fixed BC break described by bug #72119.
It was introduced after 7.0.5 release by attempt to fix bug #71428.
-rw-r--r--Zend/tests/bug71428.1.phpt2
-rw-r--r--Zend/tests/bug71428.3.phpt2
-rw-r--r--Zend/zend_inheritance.c3
3 files changed, 7 insertions, 0 deletions
diff --git a/Zend/tests/bug71428.1.phpt b/Zend/tests/bug71428.1.phpt
index b754687560..fbf342380f 100644
--- a/Zend/tests/bug71428.1.phpt
+++ b/Zend/tests/bug71428.1.phpt
@@ -1,5 +1,7 @@
--TEST--
bug #71428.1: inheritance with null default values
+--XFAIL--
+This is a BC break
--FILE--
<?php
class A {
diff --git a/Zend/tests/bug71428.3.phpt b/Zend/tests/bug71428.3.phpt
index 2f400e5952..65d397052e 100644
--- a/Zend/tests/bug71428.3.phpt
+++ b/Zend/tests/bug71428.3.phpt
@@ -1,5 +1,7 @@
--TEST--
bug #71428: Validation type inheritance with = NULL
+--XFAIL--
+This is a BC break
--FILE--
<?php
class A { }
diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c
index 9042b2f0a2..b46ed4e39c 100644
--- a/Zend/zend_inheritance.c
+++ b/Zend/zend_inheritance.c
@@ -319,10 +319,13 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c
return 0;
}
+#if 0
+ // This introduces BC break described at https://bugs.php.net/bug.php?id=72119
if (proto_arg_info->type_hint && proto_arg_info->allow_null && !fe_arg_info->allow_null) {
/* incompatible nullability */
return 0;
}
+#endif
/* by-ref constraints on arguments are invariant */
if (fe_arg_info->pass_by_reference != proto_arg_info->pass_by_reference) {