<?php
namespace A {
class Foo {
public $foo;
public function __construct() {
$this->foo = function (int $a) {
var_dump("foo");
};
}
}
}
namespace {
$a = (new A\Foo);
($a->foo)(null);
echo "Done\n";
}
Fatal error: Uncaught TypeError: A\Foo::A\{closure}(): Argument #1 ($a) must be of type int, null given, called in /in/qdbc6 on line 17 and defined in /in/qdbc6:8
Stack trace:
#0 /in/qdbc6(17): A\Foo->A\{closure}(NULL)
#1 {main}
thrown in /in/qdbc6 on line 8
Process exited with code 255.
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Fatal error: Uncaught TypeError: Argument 1 passed to A\Foo::A\{closure}() must be of the type int, null given, called in /in/qdbc6 on line 17 and defined in /in/qdbc6:8
Stack trace:
#0 /in/qdbc6(17): A\Foo->A\{closure}(NULL)
#1 {main}
thrown in /in/qdbc6 on line 8
Process exited with code 255.
Fatal error: Uncaught TypeError: Argument 1 passed to A\Foo::A\{closure}() must be of the type integer, null given, called in /in/qdbc6 on line 17 and defined in /in/qdbc6:8
Stack trace:
#0 /in/qdbc6(17): A\Foo->A\{closure}(NULL)
#1 {main}
thrown in /in/qdbc6 on line 8
Process exited with code 255.