1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-30 04:39:00 +01:00
psalm/docs/running_psalm/issues/ImpureByReferenceAssignment.md
2020-03-21 00:39:00 -04:00

393 B

ImpureByReferenceAssignment

Emitted when assigning a passed-by-reference variable inside a function or method marked as mutation-free.

<?php

/**
 * @psalm-pure
 */
function foo(string &$a): string {
    $a = "B";
    return $a;
}

How to fix

Just remove the mutating assignment:

<?php

/**
 * @psalm-pure
 */
function foo(string &$a): string {
    return $a;
}