Псалом поддерживает @ param-out для "this"? - PullRequest
0 голосов
/ 17 июня 2020

Можно ли управлять фантомными типами в Псалме, используя @param-out вместо this или self? Пример:

/**
 * @template T
 */
class Foo
{
  /**
   * @param T $t
   */
  public function __construct($t)
  {
    $this->t = $t;
  }
  /**
   * WRONG:
   * @param-out Test<S> $this
   */
  public function test()
  {
    // Also this doesn't work:
    $this->t = new S();
  }
}

Примером использования для этого может быть, например, класс файла с фантомным типом, установленным на Open или Closed, а вызов $file->open(); изменяет T на Open.

1 Ответ

0 голосов
/ 27 июня 2020

Нет. Есть запрос на перенос, который может или не может быть объединен, используя @param-self-out.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...