Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 3.7.1

Bug #18835 Unreachable errors of inline returns of closure functions
Submitted: 2011-09-15 18:03 UTC
From: woellchen Assigned: squiz
Status: Closed Package: PHP_CodeSniffer (version 1.3.0)
PHP Version: 5.3.1 OS: Ubuntu 11.04 (Natty Narwhal)
Roadmaps: (Not assigned)    

Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know! Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem : 35 - 17 = ?

 [2011-09-15 18:03 UTC] woellchen (Patrick Schmidt)
Description: ------------ The CodeSniffer detects return statements in a closure function which is in turn returned directly as a warning. Our current workaround is to save the closure function in a variable, returning this variable afterwards. Test script: --------------- <?php // produces a warning return uksort($array, function() { return mt_rand(-1, 1); }); // produces no warning $return = uksort($array, function() { return mt_rand(-1, 1); }); return $return; Expected result: ---------------- No errors or warnings. Actual result: -------------- WARNING | Code after RETURN statement cannot be executed | (Squiz.PHP.NonExecutableCode.Unreachable)


 [2011-09-15 18:10 UTC] woellchen (Patrick Schmidt)
 [2011-09-18 13:01 UTC] doconnor (Daniel O'Connor)
-Status: Open +Status: Analyzed -Assigned To: +Assigned To: squiz
Thanks for the patch Patrick! There's a bit of tabs vs whitespace that should be fixed prior to it merging; but otherwise it looks good from a casual glance
 [2011-09-19 08:56 UTC] squiz (Greg Sherwood)
-Status: Analyzed +Status: Closed
This bug has been fixed in SVN. If this was a documentation problem, the fix will appear on by the end of next Sunday (CET). If this was a problem with the website, the change should be live shortly. Otherwise, the fix will appear in the package's next release. Thank you for the report and for helping us make PEAR better. Thanks a lot for the patch.