--TEST-- No coercion should be applied to type false even if it's an overide --FILE-- foo(0)); try { var_dump($c->foo(0)); } catch (\TypeError $e) { echo $e->getMessage(), \PHP_EOL; } ?> --EXPECT-- bool(false) C::foo(): Return value must be of type array|false, int returned