3v4l.org

run code in 500+ PHP versions simultaneously
<?php class ParentReturn {} class ChildReturn {} class ParentClass { /** @return ParentReturn */ public function overridable() { return new ParentReturn(); } public function nonOverridable(): ParentReturn { return new ParentReturn(); } } class ChildClass extends ParentClass { public function overridable(): ChildReturn { return new ChildReturn(); } public function nonOverridable(): ChildReturn {return new ChildReturn();} }
Output for 8.3.5
Fatal error: Declaration of ChildClass::nonOverridable(): ChildReturn must be compatible with ParentClass::nonOverridable(): ParentReturn in /in/QWY1M on line 16
Process exited with code 255.
Output for 7.1.25 - 7.1.32, 7.2.0 - 7.2.22, 7.3.0 - 7.3.9
Fatal error: Declaration of ChildClass::nonOverridable(): ChildReturn must be compatible with ParentClass::nonOverridable(): ParentReturn in /in/QWY1M on line 17
Process exited with code 255.

preferences:
44.59 ms | 664 KiB | 3 Q