To Reproduce
Steps to reproduce the behavior: copy-paste this script to the IDE
<?php
declare(strict_types=1);
namespace ns1\ns2;
interface Test09 {
public function fn1(int|float $par1): int;
public function fn2(int $par1): int;
}
interface Test09b extends Test09
{
public function fn1(int $par1): int; // this statement must trigger error
public function fn2(int $par1): int|float; // this statement must trigger error
}
// -------------------------------------------------------------------------
class Test09c {
public function fn1(int|float $par1): int {}
public function fn2(int $par1): int {}
}
class Test09d extends Test09c
{
public function fn1(int $par1): int {} // this statement must trigger error
public function fn2(int $par1): int|float {} // this statement must trigger error
}
// -------------------------------------------------------------------------
interface Test09e {
public function fn1(int|float $par1): int;
public function fn2(int $par1): int;
}
class Test09f implements Test09e
{
public function fn1(int $par1): int {} // this statement must trigger error
public function fn2(int $par1): int|float {} // this statement must trigger error
}
// -------------------------------------------------------------------------
trait Test09g {
public function fn1(int|float $par1): int {}
public function fn2(int $par1): int {}
}
class Test09h {
use Test09g;
}
class Test09i extends Test09h
{
public function fn1(int $par1): int {} // this statement must trigger error
public function fn2(int $par1): int|float {} // this statement must trigger error
}
Bug Description Missing error on LSP violation.
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