vimeo/psalm

MethodSignatureMismatch - Argument 1 of DateTime::__unserialize has wrong type 'mixed', expecting 'array<array-key, mixed>' as defined by DateTimeInterface::__unserialize

Open

#8,957 建立於 2022年12月20日

在 GitHub 查看
 (7 留言) (0 反應) (0 負責人)PHP (668 fork)batch import
Help wantedeasy problemsgood first issueinternal stubs/callmap

倉庫指標

Star
 (5,369 star)
PR 合併指標
 (平均合併 3天 12小時) (30 天內合併 5 個 PR)

描述

Running on PHP 8.2, I have this code:

I cannot reproduce it on psalm.dev, but I assume it has to do with stubs.

<?php

declare(strict_types=1);

namespace App\Extension\Type;

use DateTime as PHPGlobalDateTime;

class DateTime extends PHPGlobalDateTime
{
    public function __toString(): string
    {
        return $this->format('U');
    }
}

Getting:

ERROR: MethodSignatureMismatch - src/Extension/Type/DateTime.php:10:7 - Argument 1 of DateTime::__unserialize has wrong type 'mixed', expecting 'array<array-key, mixed>' as defined by DateTimeInterface::__unserialize (see https://psalm.dev/042) class DateTime extends PHPGlobalDateTime implements StringableDateTimeInterface

貢獻者指南