3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface I {} interface J {} // Simulate a "never" parameter type. interface AlmostNever extends I, J {} class C implements I {} interface Base { public function foo(AlmostNever $x): mixed; } interface ReturnI extends Base { public function foo(AlmostNever $x): I; } interface AcceptI extends Base { public function foo(I $x): mixed; } class AcceptReturnI implements AcceptI, ReturnI { public function foo(I $x): I { return $x; } } function f(AcceptI&ReturnI $callme, I $x): I { return $callme->foo($x); } f(new AcceptReturnI(), new C());

This is an error 500

Value for `_results` contains invalid data `array`


preferences:
149.85 ms | 1582 KiB | 9 Q