I have an interface with @phpstan-require-extends:
/**
* Any class implementing this interface must extend Model.
*
* @phpstan-require-extends \Illuminate\Database\Eloquent\Model
*/
interface Metaable
{
...
}
The Model is highlighted with a warning inside this interface: @implements tag specifies Illuminate\Database\Eloquent\Model type, but the corresponding class does not implements type by that namePHP(PHP6509)
@phpstan-require-extends Model means that the interface must be implemented by a Model when used, so it's not the same as @implements which is to be used on the class itself.