-
Notifications
You must be signed in to change notification settings - Fork 529
Add support for PHP 8.5 #[\NoDiscard]
#4253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 2.1.x
Are you sure you want to change the base?
Add support for PHP 8.5 #[\NoDiscard]
#4253
Conversation
Wasn't able to figure out instance methods or static methods, I'll work on those separately later |
0b700c1
to
24db3f7
Compare
PHP 8.5 linting failure is unrelated, caused by yours truly in php/php-src@c416191 // php/php-src#19154 |
This is a wrong approach. We don't need a new rule but instead:
|
Per the docs https://phpstan.org/developing-extensions/backward-compatibility-promise
so can this be added to
FunctionCallParametersCheck doesn't include
Is this necessary? The
Is that necessary? That means a whole other rule for something that PHP would complain about at compile time anyway |
d3dc3d4
to
131caa6
Compare
Yes, some interfaces cannot be extended. If you try that you get an error: https://phpstan.org/r/847a20b4-ce41-4763-b7f4-aa088ea30bca
I'm sorry, I was mistaken. I had these lines in mind ( phpstan-src/src/Rules/FunctionCallParametersCheck.php Lines 275 to 284 in 8bb2a20
Call to pure functions without using their result is covered by these rules:
But I think we first should try to report this in FunctionCallParametersCheck.
The user already expresses their intention with
Yes. PHPStan users expect this to be reported. We should report all the situations from the "Constraints" section in the RFC (https://wiki.php.net/rfc/marking_return_value_as_important). |
I couldn't figure out using the scope, so I added a visitor to indicate method calls that use
What I mean is, is this necessary for this patch? Errors about when the attribute is applied are different from errors about when the methods with the attribute are called |
@DanielEScherzer My process for adding support for new PHP features is that I read the whole RFC and I update PHPStan with everything that should be added about the feature. If you don't do that, then I'd have to keep in mind to do it myself. |
Another important thing from the RFC:
Another rule checking the |
Sorry, tried to rename the branch but didn't realize that that closes the PR :( |
Okay, I have
|
#[\NoDiscard]
on functions#[\NoDiscard]
No description provided.