. 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,
--TEST--
bug #71428.1: inheritance with null default values
+--XFAIL--
+This is a BC break
--FILE--
<?php
class A {
--TEST--
bug #71428: Validation type inheritance with = NULL
+--XFAIL--
+This is a BC break
--FILE--
<?php
class A { }
}
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
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) {