<?php
interface Test
{
public function check(Test $x);
}
interface TestTest extends Test
{
public function check(Test $x);
};
//this is ok:
class Foo implements Test
{
public function check(Test $x) {}
}
//this is fail, but why? Bar implements Test, so.. logically it fulfills contract..
class Bar implements TestTest
{
public function check(Test $x) {}
}
Fatal error: Can't inherit abstract function Test::check() (previously declared abstract in TestTest) in /in/NOmAU on line 9
Process exited with code 255.
Fatal error: Can't inherit abstract function Test::check() (previously declared abstract in TestTest) in /in/NOmAU on line 8
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING in /in/NOmAU on line 3
Process exited with code 255.