DescriptionJitka Plesnikova
2022-06-01 14:08:46 UTC
I am working on adding Perl 5.36 to Fedora Rawhide/37 (not done yet).
The rebuild of postgresql failed with this version in side tag f37-perl:
=== make failure: src/pl/plperl/regression.diffs ===
diff -U3 /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/expected/plperl.out /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/results/plperl.out
--- /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/expected/plperl.out 2022-05-09 21:14:45.000000000 +0000
+++ /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/results/plperl.out 2022-06-01 11:23:50.925042793 +0000
@@ -726,8 +726,6 @@
-- check that we can "use warnings" (in this case to turn a warn into an error)
-- yields "ERROR: Useless use of sort in scalar context."
DO $do$ use warnings FATAL => qw(void) ; my @y; my $x = sort @y; 1; $do$ LANGUAGE plperl;
-ERROR: Useless use of sort in scalar context at line 1.
-CONTEXT: PL/Perl anonymous code block
-- make sure functions marked as VOID without an explicit return work
CREATE OR REPLACE FUNCTION myfuncs() RETURNS void AS $$
$_SHARED{myquote} = sub {
The reason of the failure is a change to existing diagnostics[1]:
"Useless use of sort in scalar context is now in the new scalar category.
When sort is used in scalar context, it provokes a warning that doing this is not useful. This warning used to be in the void category. A new category for warnings about scalar context has now been added, called scalar."
Solution is replacing
use warnings FATAL => qw(void)
by
use warnings FATAL => qw(scalar)
for this case.
[1] https://metacpan.org/dist/perl/view/pod/perldelta.pod#Changes-to-Existing-Diagnostics