Increment PHPStan to strictness level 2 #1488
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PHPStan has "rule levels" https://phpstan.org/user-guide/rule-levels that determine which sorts of type errors they detect. I was surprised to discover we were on rule level 1. This PR adds type fixes and error suppressions to get us to rule level 2.
Almost everything is docstring-only changes, with the exception of
Fix unsafe static:: references. PHPStan doesn't like
static::
references to private methods. I'm not 100% sure why but I think it's becausewill result in an error like
In any case, doing
self::
instead makes it so that the private method defined in the parent class is always called, and prevents subclasses from re-implementing it, which I think is what is intended, anyway.