Fix issues with _get_list_table() #261
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.
This PR fixes the return types of
_get_list_table()and resolves the "not always the same as T. It breaks the contract for some argument types, typically subtypes" issue (see at phpstan.org/try). The PHPStan version is updated to 1.11 to supportnew<T>.Compared to the current implementation, we lose the check for whether
$class_nameis aclass-string. Once we drop support for PHPStan 1.x, we can update'@phpstan-template T' => 'of string'to'@phpstan-template T' => 'of class-string'to restore the check that$class_nameis aclass-string. I don't think thatnew<T>is supported by Psalm.Once merged, #256 can be closed.
Fixes #257
Related to #256
Another option to resolve this is to revert migrating the dynamic return type extension from szepeviktor/phpstan-wordpress.
cc: @johnbillion