3v4l.org

run code in 300+ PHP versions simultaneously
<?php spl_autoload_register(function($class) { if ($class === 'A') { class A { public function foo($x): B { return new B; } } } else if ($class === 'B') { class B extends A { public function foo($x): C { return new C; } } } else if ($class === 'C') { class C extends B { } } }); (new C)->foo('blah');

preferences:
52.84 ms | 402 KiB | 5 Q