<?php declare(strict_types = 1);
class One
{
public function test() :?DateTimeImmutable
{
return rand(0,1) === 1 ? new DateTimeImmutable(): null;
}
}
class Two
{
public function test(): void
{
$test = new One();
echo $test->test()
? $test->test()->format('d')
: null;
}
}
$two = new Two();
$two->test();
Fatal error: Uncaught Error: Call to a member function format() on null in /in/jNRDj:17
Stack trace:
#0 /in/jNRDj(23): Two->test()
#1 {main}
thrown in /in/jNRDj on line 17
Process exited with code 255.
Output for 7.1.29, 7.2.2, 7.2.4, 7.2.9, 7.2.11, 7.2.16, 7.3.1, 7.3.4