To Reproduce
Steps to reproduce the behavior: copy-paste this script to the IDE
<?php
declare(strict_types=1);
namespace ns1\ns2;
interface Test08 {
public function fn1(int $par1): int;
public function fn2(int $par1): int;
}
interface Test08b extends Test08
{
public function fn1(int $par1): float; // this statement must trigger error
public function fn2(float $par1): int; // this statement must trigger error
}
// -------------------------------------------------------------------------
class Test08c {
public function fn1(int $par1): int {}
public function fn2(int $par1): int {}
}
class Test08d extends Test08c
{
public function fn1(int $par1): float {} // this statement must trigger error
public function fn2(float $par1): int {} // this statement must trigger error
}
// -------------------------------------------------------------------------
interface Test08e {
public function fn1(int $par1): int;
public function fn2(int $par1): int;
}
class Test08f implements Test08e
{
public function fn1(int $par1): float {} // this statement must trigger error
public function fn2(float $par1): int {} // this statement must trigger error
}
// -------------------------------------------------------------------------
trait Test08g {
public function fn1(int $par1): int {}
public function fn2(int $par1): int {}
}
class Test08h {
use Test08g;
}
class Test08i extends Test08h
{
public function fn1(int $par1): float {} // this statement must trigger error
public function fn2(float $par1): int {} // this statement must trigger error
}
Bug Description Missing error on incompatible param/return value type on derived method.
Eclipse environment Version: 2023-06 (4.28.0) Build id: 20230608-1333 PDT: 8.0.0.202306050832
System
To Reproduce Steps to reproduce the behavior: copy-paste this script to the IDE