3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php abstract class A { abstract public function foo(A $a): A; } class B extends A { public function foo(B $b): B { } }
Output for 7.0.0 - 7.1.6
Fatal error: Declaration of B::foo(B $b): B must be compatible with A::foo(A $a): A in /in/jSmAN on line 11
Process exited with code 255.
Output for hhvm-3.15.4
Fatal error: Uncaught Error: Declaration of B::foo() must be compatible with that of A::foo() in /in/jSmAN:7 Stack trace: #0 {main}
Process exited with code 255.
Output for 5.6.0 - 5.6.30
Parse error: syntax error, unexpected ':', expecting ';' or '{' in /in/jSmAN on line 4
Process exited with code 255.