Login
RT #61301: Bug in policy
authorTom Wyant <harryfmudd@comcast.net>
Tue, 1 Mar 2011 20:38:18 +0000 (20:38 +0000)
committerTom Wyant <harryfmudd@comcast.net>
Tue, 1 Mar 2011 20:38:18 +0000 (20:38 +0000)
ValuesAndExpressions::ProhibitCommaSeparatedStatements

This was really a PPI bug (the Perl docs say return {...} is a hash
constructor, but PPI was making it a block), fixed in PPI 1.215.

This commit bumps the PPI dependency to 1.215, and adds a test to
t/ValuesAndExpressions/ProhibitCommaSeparatedStatements.run to try to
make sure it stays fixed.

Changes
inc/Perl/Critic/BuildUtilities.pm
t/ValuesAndExpressions/ProhibitCommaSeparatedStatements.run

diff --git a/Changes b/Changes
index 981c899..df9ed51 100644 (file)
--- a/Changes
+++ b/Changes
@@ -12,6 +12,9 @@ A future release
       corresponding close() are not in the same scope. RT #64437
     * RegularExpressions::ProhibitUnusedCapture now looks inside
       double-quotish things. RT #38942.
+    * ValuesAndExpressions::ProhibitCommaSeparatedStatements now
+      recognizes 'return { foo => 1, bar => 2 }' as containing a hash
+      constructor, not a block. This was fixed by PPI 1.215. RT #61301.
 
 [1.113] Released on 2011-02-14
 
index 1160e2e..2e10fb3 100644 (file)
@@ -52,12 +52,12 @@ sub required_module_versions {
         'List::MoreUtils'               => 0.19,
         'List::Util'                    => 0,
         'Module::Pluggable'             => 3.1,
-        'PPI'                           => '1.208',
-        'PPI::Document'                 => '1.208',
-        'PPI::Document::File'           => '1.208',
-        'PPI::Node'                     => '1.208',
-        'PPI::Token::Quote::Single'     => '1.208',
-        'PPI::Token::Whitespace'        => '1.208',
+        'PPI'                           => '1.215', # RT 61301
+        'PPI::Document'                 => '1.215',
+        'PPI::Document::File'           => '1.215',
+        'PPI::Node'                     => '1.215',
+        'PPI::Token::Quote::Single'     => '1.215',
+        'PPI::Token::Whitespace'        => '1.215',
         'PPIx::Regexp'                  => 0.010,
         'PPIx::Utilities::Node'         => '1.001',
         'PPIx::Utilities::Statement'    => '1.001',
index acd411d..892280d 100644 (file)
@@ -274,6 +274,16 @@ func( @{ $href }{'1', '2'} );
 
 #-----------------------------------------------------------------------------
 
+## name RT #61301 (requires PPI 1.215)
+## failures 0
+## cut
+
+sub foo {
+    return { bar => 1, answer => 42 };
+}
+
+#-----------------------------------------------------------------------------
+
 ##############################################################################
 #      $URL$
 #     $Date$