3v4l.org

run code in 300+ PHP versions simultaneously
<?php class T1 {} class T2 extends T1 {} class A { /*readonly*/ public T1 $a; public function foo(T1 $a) { $this->a = $a; } } class B extends A { /*readonly*/ public T2 $a; } $foo = new B(); $foo->foo(new T1());
Output for 7.4.0 - 7.4.3
Fatal error: Type of B::$a must be T1 (as in class A) in /in/gMPHr on line 16
Process exited with code 255.
Output for 7.2.0 - 7.2.28, 7.3.0 - 7.3.15
Parse error: syntax error, unexpected 'T1' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /in/gMPHr on line 7
Process exited with code 255.

preferences:
186.17 ms | 1395 KiB | 56 Q