From: Daniel Gustafsson Date: Tue, 31 Aug 2021 09:07:04 +0000 (+0200) Subject: Prohibit map and grep in void context X-Git-Tag: REL_15_BETA1~1589 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bb466c6b0992a1a21c03239a7b0a87ebadd3bee1;p=thirdparty%2Fpostgresql.git Prohibit map and grep in void context map and grep are not intended to be used as mutators, iterating with side-effects should be done with for or foreach loops. This fixes the one occurrence of the pattern, and bumps the perlcritic policy to severity 5 for the map and grep policies. Author: Dagfinn Ilmari Mannsåker Reviewed-by: Michael Paquier Reviewed-by: Andrew Dunstan Reviewed-by: Julien Rouhaud Discussion: https://postgr.es/m/87fsvzhhc4.fsf@wibble.ilmari.org --- diff --git a/contrib/intarray/bench/create_test.pl b/contrib/intarray/bench/create_test.pl index 993a4572f41..ae8d72bab03 100755 --- a/contrib/intarray/bench/create_test.pl +++ b/contrib/intarray/bench/create_test.pl @@ -51,7 +51,7 @@ foreach my $i (1 .. 200000) else { print $msg "$i\t{" . join(',', @sect) . "}\n"; - map { print $map "$i\t$_\n" } @sect; + print $map "$i\t$_\n" foreach @sect; } } close $map; diff --git a/src/tools/perlcheck/perlcriticrc b/src/tools/perlcheck/perlcriticrc index e230111b232..9267fb43b27 100644 --- a/src/tools/perlcheck/perlcriticrc +++ b/src/tools/perlcheck/perlcriticrc @@ -22,3 +22,10 @@ verbose = %f: %m at line %l, column %c. %e. ([%p] Severity: %s)\n # insist on use of the warnings pragma [TestingAndDebugging::RequireUseWarnings] severity = 5 + +# forbid grep and map in void context +[BuiltinFunctions::ProhibitVoidGrep] +severity = 5 + +[BuiltinFunctions::ProhibitVoidMap] +severity = 5