-
-
Notifications
You must be signed in to change notification settings - Fork 946
Closed
Labels
Milestone
Description
Bug report
<?php declare(strict_types = 1);
interface RecordsMessages
{
public function record(object $message): void;
}
trait PrivateMessageRecorderCapabilities
{
protected function record(object $message): void
{
}
}
class PublicMessageRecorder implements RecordsMessages
{
use PrivateMessageRecorderCapabilities { record as public; }
}
$recorder = new PublicMessageRecorder();
$recorder->record(new DateTime());PHPStan reports an issue:
Protected method PublicMessageRecorder::record() overriding public method RecordsMessages::record() should also be public.
While this is allowed by PHP, see: https://3v4l.org/J3ged
Code snippet that reproduces the problem
https://phpstan.org/r/03b14d64-3e97-49bd-a994-3c22570ebde3
Expected output
No errors because this is allowed by PHP, see: https://3v4l.org/J3ged
Reactions are currently unavailable