-
Notifications
You must be signed in to change notification settings - Fork 8k
Narrow bool returns #11200
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
Narrow bool returns #11200
Conversation
83a0dcf to
a19ea46
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Double checked and LGTM, just seems like you misses two Intl functions/methods
| function intlcal_roll(IntlCalendar $calendar, int $field, $value): bool {} | ||
|
|
||
| function intlcal_clear(IntlCalendar $calendar, ?int $field = null): bool {} | ||
| function intlcal_clear(IntlCalendar $calendar, ?int $field = null): true {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I can see, the following functions also return only true:
intlcal_set()intlcal_set_minimal_days_in_first_week()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! I amended my first commit to include these two functions/methods as well! Nothing else changed
a19ea46 to
ca948f1
Compare
PHP8.3 changed return type for `\ArrayObject::asort()` from `bool` to `true` and will trigger a `E_DEPRECATED` notice since PHP8.3 for extending classes with incompatible signature. Regarding the documentation the return type changed in PHP8.2.0 already. It's not really clear why this has not been detected earlier. The documentation [1] states that this should have changed with PHP 8.2.0. However, the PHP 8.2 based testing we have in place did not pick that up yet. Further investigation show, that the corresponding change on the PHP source repository is only available on master and for the `PHP8.3.0alpha1` tag [2][3]. With that change the stub file and the argument information header file for this and other methods changed. The PHP source change targets more return types, but we did not hit yet others then the one case detected through unit tests. The return type can be only be changed when PHP8.3+ is the minimum php version. Therefore, we add the known attribute `#[\ReturnTypeWillChange]` to the method along with a a comment to change this when requirements are fullfilled. TYPO3 11.5 already have this attribute, so this issue occurs only with TYPO3 v12 and main. Reason for this is the fact, that with #98035 that attribute has been resolved by using compatible return types at that moment. This can be checked by executing unit tests with PHP8.3 with and without this change. Use-full command: > Build/Scripts/runTests.sh -p 8.3 -s unit [1] https://www.php.net/manual/en/arrayobject.asort.php#refsect1-arrayobject.asort-changelog [2] php/php-src@8533856 [3] php/php-src#11200 Resolves: #100992 Related: #98035 Releases: main, 12.4 Change-Id: Ic3b8cacdcf387a2d23eaeaf66222de6078d54f2d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79251 Reviewed-by: Elias Häußler <e.haeussler@familie-redlich.de> Tested-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Tested-by: Elias Häußler <e.haeussler@familie-redlich.de> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Benni Mack <benni@typo3.org> Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: core-ci <typo3@b13.com>
PHP8.3 changed return type for `\ArrayObject::asort()` from `bool` to `true` and will trigger a `E_DEPRECATED` notice since PHP8.3 for extending classes with incompatible signature. Regarding the documentation the return type changed in PHP8.2.0 already. It's not really clear why this has not been detected earlier. The documentation [1] states that this should have changed with PHP 8.2.0. However, the PHP 8.2 based testing we have in place did not pick that up yet. Further investigation show, that the corresponding change on the PHP source repository is only available on master and for the `PHP8.3.0alpha1` tag [2][3]. With that change the stub file and the argument information header file for this and other methods changed. The PHP source change targets more return types, but we did not hit yet others then the one case detected through unit tests. The return type can be only be changed when PHP8.3+ is the minimum php version. Therefore, we add the known attribute `#[\ReturnTypeWillChange]` to the method along with a a comment to change this when requirements are fullfilled. TYPO3 11.5 already have this attribute, so this issue occurs only with TYPO3 v12 and main. Reason for this is the fact, that with #98035 that attribute has been resolved by using compatible return types at that moment. This can be checked by executing unit tests with PHP8.3 with and without this change. Use-full command: > Build/Scripts/runTests.sh -p 8.3 -s unit [1] https://www.php.net/manual/en/arrayobject.asort.php#refsect1-arrayobject.asort-changelog [2] php/php-src@8533856 [3] php/php-src#11200 Resolves: #100992 Related: #98035 Releases: main, 12.4 Change-Id: Ic3b8cacdcf387a2d23eaeaf66222de6078d54f2d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79251 Reviewed-by: Elias Häußler <e.haeussler@familie-redlich.de> Tested-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Tested-by: Elias Häußler <e.haeussler@familie-redlich.de> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Benni Mack <benni@typo3.org> Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: core-ci <typo3@b13.com>
PHP8.3 changed return type for `\ArrayObject::asort()` from `bool` to `true` and will trigger a `E_DEPRECATED` notice since PHP8.3 for extending classes with incompatible signature. Regarding the documentation the return type changed in PHP8.2.0 already. It's not really clear why this has not been detected earlier. The documentation [1] states that this should have changed with PHP 8.2.0. However, the PHP 8.2 based testing we have in place did not pick that up yet. Further investigation show, that the corresponding change on the PHP source repository is only available on master and for the `PHP8.3.0alpha1` tag [2][3]. With that change the stub file and the argument information header file for this and other methods changed. The PHP source change targets more return types, but we did not hit yet others then the one case detected through unit tests. The return type can be only be changed when PHP8.3+ is the minimum php version. Therefore, we add the known attribute `#[\ReturnTypeWillChange]` to the method along with a a comment to change this when requirements are fullfilled. TYPO3 11.5 already have this attribute, so this issue occurs only with TYPO3 v12 and main. Reason for this is the fact, that with #98035 that attribute has been resolved by using compatible return types at that moment. This can be checked by executing unit tests with PHP8.3 with and without this change. Use-full command: > Build/Scripts/runTests.sh -p 8.3 -s unit [1] https://www.php.net/manual/en/arrayobject.asort.php#refsect1-arrayobject.asort-changelog [2] php/php-src@8533856 [3] php/php-src#11200 Resolves: #100992 Related: #98035 Releases: main, 12.4 Change-Id: Ic3b8cacdcf387a2d23eaeaf66222de6078d54f2d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79225 Tested-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Stefan Bürk <stefan@buerk.tech> Tested-by: core-ci <typo3@b13.com>
PHP8.3 changed return type for `\ArrayObject::asort()` from `bool` to `true` and will trigger a `E_DEPRECATED` notice since PHP8.3 for extending classes with incompatible signature. Regarding the documentation the return type changed in PHP8.2.0 already. It's not really clear why this has not been detected earlier. The documentation [1] states that this should have changed with PHP 8.2.0. However, the PHP 8.2 based testing we have in place did not pick that up yet. Further investigation show, that the corresponding change on the PHP source repository is only available on master and for the `PHP8.3.0alpha1` tag [2][3]. With that change the stub file and the argument information header file for this and other methods changed. The PHP source change targets more return types, but we did not hit yet others then the one case detected through unit tests. The return type can be only be changed when PHP8.3+ is the minimum php version. Therefore, we add the known attribute `#[\ReturnTypeWillChange]` to the method along with a a comment to change this when requirements are fullfilled. TYPO3 11.5 already have this attribute, so this issue occurs only with TYPO3 v12 and main. Reason for this is the fact, that with #98035 that attribute has been resolved by using compatible return types at that moment. This can be checked by executing unit tests with PHP8.3 with and without this change. Use-full command: > Build/Scripts/runTests.sh -p 8.3 -s unit [1] https://www.php.net/manual/en/arrayobject.asort.php#refsect1-arrayobject.asort-changelog [2] php/php-src@8533856 [3] php/php-src#11200 Resolves: #100992 Related: #98035 Releases: main, 12.4 Change-Id: Ic3b8cacdcf387a2d23eaeaf66222de6078d54f2d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79225 Tested-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Stefan Bürk <stefan@buerk.tech> Tested-by: core-ci <typo3@b13.com>
No description provided.