Fix pure annotations (#605)

Coming from https://github.com/ramsey/uuid/pull/603, this is an attempt
to fix the errors raised by the current phpstan settings.

I went through each of the errors raised by phpstan with the following
approach.

- If a method is part of an `@immutable` class, we can consider it pure,
  assuming it only affects internal variables.
- If a potentially pure method is calling a class's method that is only
  swapped during testing (and not during normal usage), then we can
  consider the calling method pure.
- If a class is marked deprecated, don't bother with attempting to mark
  it pure or immutable.
This commit is contained in:
Brandon Morrison
2025-06-24 20:28:52 -05:00
committed by Ben Ramsey
parent df575bdb79
commit aa18ce15d5
54 changed files with 217 additions and 21 deletions
@@ -208,16 +208,19 @@ final class UuidStringConversionBench
public function benchStringConversionOfTinyUuid(): void
{
/** @phpstan-ignore method.resultUnused */
$this->tinyUuid->toString();
}
public function benchStringConversionOfHugeUuid(): void
{
/** @phpstan-ignore method.resultUnused */
$this->hugeUuid->toString();
}
public function benchStringConversionOfUuid(): void
{
/** @phpstan-ignore method.resultUnused */
$this->uuid->toString();
}
@@ -230,16 +233,19 @@ final class UuidStringConversionBench
public function benchBytesConversionOfTinyUuid(): void
{
/** @phpstan-ignore method.resultUnused */
$this->tinyUuid->getBytes();
}
public function benchBytesConversionOfHugeUuid(): void
{
/** @phpstan-ignore method.resultUnused */
$this->hugeUuid->getBytes();
}
public function benchBytesConversionOfUuid(): void
{
/** @phpstan-ignore method.resultUnused */
$this->uuid->getBytes();
}