]> granicus.if.org Git - php/commitdiff
Revert "Fix bad merge into master"
authorDmitry Stogov <dmitry@zend.com>
Fri, 29 Apr 2016 08:15:26 +0000 (11:15 +0300)
committerDmitry Stogov <dmitry@zend.com>
Fri, 29 Apr 2016 08:15:26 +0000 (11:15 +0300)
This reverts commit 2c8e4ba8f1f63429f5d0e08a4a0fc6d449ca801a.

NEWS
Zend/tests/bug71428.1.phpt
Zend/tests/bug71428.3.phpt
Zend/tests/bug72119.phpt
Zend/zend_inheritance.c

diff --git a/NEWS b/NEWS
index 6208e65640f030a5aab50b96d3d59c4902e971e8..b8a0d86003a93d59ed8da2fbe6b0597feb250063 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,6 @@ PHP                                                                        NEWS
   . Fixed bug #62814 (It is possible to stiffen child class members visibility).
     (Nikita)
   . Fixed bug #69989 (Generators don't participate in cycle GC). (Nikita)
-  . Fixed bug #71428 (Inheritance and allow_null). (Joe)
   . Fixed bug #71572 (String offset assignment from an empty string inserts
     null byte). (Francois)
   . Implemented the RFC `Support Class Constant Visibility`. (Sean DuBois,
index b754687560a62ad791297fafa413a306f7d4cd29..fbf342380ffedc745495addfb2a6a9bd3649217e 100644 (file)
@@ -1,5 +1,7 @@
 --TEST--
 bug #71428.1: inheritance with null default values
+--XFAIL--
+This is a BC break
 --FILE--
 <?php
 class A {
index 2f400e5952e5819a3ca2c87a2d1af2ad952759c5..65d397052e4312501984a85a8e593c87e7857456 100644 (file)
@@ -1,5 +1,7 @@
 --TEST--
 bug #71428: Validation type inheritance with = NULL
+--XFAIL--
+This is a BC break
 --FILE--
 <?php
 class A { }
index 71d3a59d6f18d1b8d54722c6b946e416dcdc489b..b8f070a25af819585cc5ce546266223f233c4e7c 100644 (file)
@@ -14,5 +14,5 @@ class Hello implements Foo {
 }
 echo "OK\n";
 ?>
---EXPECTF--
-Fatal error: Declaration of Hello::bar(array $baz = Array) must be compatible with Foo::bar(array $baz = NULL) in %s on line %d
+--EXPECT--
+OK
index f376150f404c3fb60779d2c4822a6bdc6dd3327e..42283f94dca2b8609a6258a4495e362622c59302 100644 (file)
@@ -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) {