Skip to content

Latest commit

 

History

History
19 lines (15 loc) · 442 Bytes

MissingImmutableAnnotation.md

File metadata and controls

19 lines (15 loc) · 442 Bytes

MissingImmutableAnnotation

Emitted when a class inheriting from an immutable interface or class does not also have a @psalm-immutable declaration

<?php

/** @psalm-immutable */
interface SomethingImmutable {
    public function someInteger() : int;
}

class MutableImplementation implements SomethingImmutable {
    private int $counter = 0;
    public function someInteger() : int {
        return ++$this->counter;
    }
}