Passing null as the first parameter ($status) to exit has been deprecated
and leads to a PHP error.
Closes T15990
Differential D25869
Fix PHP 8 exit status cannot be null error in PhutilArgumentParser xtex on Tue, Feb 11, 01:58. Authored by Tags Referenced Files
Subscribers
Details Passing null as the first parameter ($status) to exit has been deprecated Closes T15990 Run any bin scripts with PHP 8.4.
Diff Detail
Event TimelineComment Actions One test is failing for PHP 8 (: Comment Actions Thanks! I'm sorry that the execute method has undocumented return. As far as I understand, here ArcanistPhutilWorkflow#execute() runs executeWorkflow and keeping its return: https://we.phorge.it/source/arcanist/browse/master/src/toolset/ArcanistPhutilWorkflow.php$21 That returns what is returned by runWorkflow() or it throws https://we.phorge.it/source/arcanist/browse/master/src/workflow/ArcanistWorkflow.php$244 So it seems to me that the root problem is that these methods should always return an int: $ grep -R 'function runWorkflow' src/toolset/workflow/ArcanistVersionWorkflow.php: public function runWorkflow() { src/toolset/workflow/ArcanistAliasWorkflow.php: public function runWorkflow() { src/toolset/workflow/ArcanistPromptsWorkflow.php: public function runWorkflow() { src/toolset/workflow/ArcanistShellCompleteWorkflow.php: public function runWorkflow() { src/phage/workflow/PhageExecWorkflow.php: protected function runWorkflow() { src/workflow/ArcanistLandWorkflow.php: public function runWorkflow() { src/workflow/ArcanistDownloadWorkflow.php: public function runWorkflow() { src/workflow/ArcanistAnoidWorkflow.php: public function runWorkflow() { src/workflow/ArcanistLookWorkflow.php: public function runWorkflow() { src/workflow/ArcanistPasteWorkflow.php: public function runWorkflow() { src/workflow/ArcanistUpgradeWorkflow.php: public function runWorkflow() { src/workflow/ArcanistWorkflow.php: protected function runWorkflowCleanup() { src/workflow/ArcanistCallConduitWorkflow.php: public function runWorkflow() { src/workflow/ArcanistMarkersWorkflow.php: public function runWorkflow() { src/workflow/ArcanistUploadWorkflow.php: public function runWorkflow() { src/workflow/ArcanistLiberateWorkflow.php: public function runWorkflow() { src/workflow/ArcanistWeldWorkflow.php: public function runWorkflow() { src/workflow/ArcanistInspectWorkflow.php: public function runWorkflow() { src/workflow/ArcanistAmendWorkflow.php: public function runWorkflow() { src/workflow/ArcanistWorkWorkflow.php: public function runWorkflow() { src/browse/workflow/ArcanistBrowseWorkflow.php: public function runWorkflow() { So
So I think your edit is nice to “to be broad about what is accepted” but then these logics should be "strict about what I provide". Please wait a week to attract more eyeballs and comments before running arc land. Thanks :) |