This commit is contained in:
Joe Watkins 2016-03-28 11:54:25 +01:00
parent 28f66763a4
commit ee9a78a033
2 changed files with 18 additions and 0 deletions

View file

@ -0,0 +1,13 @@
--TEST--
bug #71428.1: inheritance with null default values
--FILE--
<?php
class A {
public function m(array $a = null) {}
}
class B extends A {
public function m(array $a = []) {}
}
--EXPECTF--
Warning: Declaration of B::m(array $a = Array) should be compatible with A::m(array $a = NULL) in %sbug71428.1.php on line 7

View file

@ -238,6 +238,11 @@ static int zend_do_perform_type_hint_check(const zend_function *fe, zend_arg_inf
zend_string_release(fe_class_name);
}
if (proto_arg_info->allow_null && !fe_arg_info->allow_null) {
/* incompatible nullability */
return 0;
}
if (fe_arg_info->type_hint != proto_arg_info->type_hint) {
/* Incompatible type */
return 0;