3v4l.org

run code in 500+ PHP versions simultaneously
<?php trait Eq { abstract public function equiv(Eq $lhs, Eq $rhs): bool; } class Number { use Eq; public function __construct(public int $value) {} public function equiv(int $lhs, int $rhs): bool { return $lhs === $rhs; } }
Output for 8.5.0 - 8.5.3
Fatal error: Declaration of Number::equiv(int $lhs, int $rhs): bool must be compatible with Eq::equiv(Eq $lhs, Eq $rhs): bool in /in/2T5dP on line 11 Stack trace: #0 {main}
Process exited with code 255.
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18
Fatal error: Declaration of Number::equiv(int $lhs, int $rhs): bool must be compatible with Eq::equiv(Eq $lhs, Eq $rhs): bool in /in/2T5dP on line 11
Process exited with code 255.

preferences:
86.46 ms | 1126 KiB | 4 Q