Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-experimental for openSUSE:Factory checked in at 2023-02-16 16:56:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-experimental (Old) and /work/SRC/openSUSE:Factory/.perl-experimental.new.22824 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-experimental" Thu Feb 16 16:56:01 2023 rev:17 rq:1066006 version:0.031 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-experimental/perl-experimental.changes 2022-12-13 18:57:44.875933548 +0100 +++ /work/SRC/openSUSE:Factory/.perl-experimental.new.22824/perl-experimental.changes 2023-02-16 16:56:14.586794448 +0100 @@ -1,0 +2,13 @@ +Wed Feb 1 03:09:00 UTC 2023 - Tina Müller <[email protected]> + +- updated to 0.031 + see /usr/share/doc/packages/perl-experimental/Changes + + 0.031 2023-01-31 22:46:02+01:00 Europe/Amsterdam + - Fix the name of the extra_paired_delimiters feature (previously + mis-documented as extra_paired_delims) + - Added "stable.pm", which acts like experimental.pm only for + features which have been marked non-experimental in their current + form, in later version of perl. + +------------------------------------------------------------------- Old: ---- experimental-0.030.tar.gz New: ---- experimental-0.031.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-experimental.spec ++++++ --- /var/tmp/diff_new_pack.6nvjnI/_old 2023-02-16 16:56:15.142796671 +0100 +++ /var/tmp/diff_new_pack.6nvjnI/_new 2023-02-16 16:56:15.146796686 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-experimental # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define cpan_name experimental Name: perl-experimental -Version: 0.030 +Version: 0.031 Release: 0 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Experimental features made easy ++++++ experimental-0.030.tar.gz -> experimental-0.031.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/experimental-0.030/Changes new/experimental-0.031/Changes --- old/experimental-0.030/Changes 2022-12-10 13:02:16.000000000 +0100 +++ new/experimental-0.031/Changes 2023-01-31 22:46:03.000000000 +0100 @@ -1,5 +1,12 @@ Revision history for experimental +0.031 2023-01-31 22:46:02+01:00 Europe/Amsterdam + - Fix the name of the extra_paired_delimiters feature (previously + mis-documented as extra_paired_delims) + - Added "stable.pm", which acts like experimental.pm only for + features which have been marked non-experimental in their current + form, in later version of perl. + 0.030 2022-12-10 13:02:15+01:00 Europe/Amsterdam - Adapt to future deprecation of smartmatch diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/experimental-0.030/MANIFEST new/experimental-0.031/MANIFEST --- old/experimental-0.030/MANIFEST 2022-12-10 13:02:16.000000000 +0100 +++ new/experimental-0.031/MANIFEST 2023-01-31 22:46:03.000000000 +0100 @@ -9,5 +9,6 @@ README dist.ini lib/experimental.pm +lib/stable.pm t/basic.t xt/author/pod-syntax.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/experimental-0.030/META.json new/experimental-0.031/META.json --- old/experimental-0.030/META.json 2022-12-10 13:02:16.000000000 +0100 +++ new/experimental-0.031/META.json 2023-01-31 22:46:03.000000000 +0100 @@ -45,7 +45,11 @@ "provides" : { "experimental" : { "file" : "lib/experimental.pm", - "version" : "0.030" + "version" : "0.031" + }, + "stable" : { + "file" : "lib/stable.pm", + "version" : "0.031" } }, "release_status" : "stable", @@ -60,7 +64,7 @@ "web" : "https://github.com/Dual-Life/experimental" } }, - "version" : "0.030", + "version" : "0.031", "x_contributors" : [ "brian greenfield <[email protected]>", "Dagfinn Ilmari Manns\u00e5ker <[email protected]>", @@ -72,6 +76,7 @@ "Leon Timmermans <[email protected]>", "Philippe Bruhat (BooK) <[email protected]>", "Ricardo Signes <[email protected]>", + "Ricardo Signes <[email protected]>", "Sawyer X <[email protected]>" ], "x_generated_by_perl" : "v5.36.0", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/experimental-0.030/META.yml new/experimental-0.031/META.yml --- old/experimental-0.030/META.yml 2022-12-10 13:02:16.000000000 +0100 +++ new/experimental-0.031/META.yml 2023-01-31 22:46:03.000000000 +0100 @@ -16,7 +16,10 @@ provides: experimental: file: lib/experimental.pm - version: '0.030' + version: '0.031' + stable: + file: lib/stable.pm + version: '0.031' requires: Carp: '0' strict: '0' @@ -25,7 +28,7 @@ resources: bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=experimental repository: git://github.com/Dual-Life/experimental.git -version: '0.030' +version: '0.031' x_contributors: - 'brian greenfield <[email protected]>' - 'Dagfinn Ilmari Mannsåker <[email protected]>' @@ -37,6 +40,7 @@ - 'Leon Timmermans <[email protected]>' - 'Philippe Bruhat (BooK) <[email protected]>' - 'Ricardo Signes <[email protected]>' + - 'Ricardo Signes <[email protected]>' - 'Sawyer X <[email protected]>' x_generated_by_perl: v5.36.0 x_serialization_backend: 'YAML::Tiny version 1.73' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/experimental-0.030/Makefile.PL new/experimental-0.031/Makefile.PL --- old/experimental-0.030/Makefile.PL 2022-12-10 13:02:16.000000000 +0100 +++ new/experimental-0.031/Makefile.PL 2023-01-31 22:46:03.000000000 +0100 @@ -24,7 +24,7 @@ "TEST_REQUIRES" => { "Test::More" => "0.89" }, - "VERSION" => "0.030", + "VERSION" => "0.031", "test" => { "TESTS" => "t/*.t" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/experimental-0.030/README new/experimental-0.031/README --- old/experimental-0.030/README 2022-12-10 13:02:16.000000000 +0100 +++ new/experimental-0.031/README 2023-01-31 22:46:03.000000000 +0100 @@ -1,5 +1,5 @@ This archive contains the distribution experimental, -version 0.030: +version 0.031: Experimental features made easy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/experimental-0.030/lib/experimental.pm new/experimental-0.031/lib/experimental.pm --- old/experimental-0.030/lib/experimental.pm 2022-12-10 13:02:16.000000000 +0100 +++ new/experimental-0.031/lib/experimental.pm 2023-01-31 22:46:03.000000000 +0100 @@ -1,5 +1,5 @@ package experimental; -$experimental::VERSION = '0.030'; +$experimental::VERSION = '0.031'; use strict; use warnings; use version (); @@ -29,7 +29,7 @@ declared_refs => '5.26.0', defer => '5.35.4', evalbytes => '5.16.0', - extra_paired_delims => '5.35.9', + extra_paired_delimiters => '5.35.9', fc => '5.16.0', for_list => '5.35.5', isa => '5.31.7', @@ -140,7 +140,7 @@ =head1 VERSION -version 0.030 +version 0.031 =head1 SYNOPSIS @@ -205,7 +205,7 @@ This was added in perl 5.36.0 -=item * C<extra_paired_delims> - enables the use of more paired string delimiters than the +=item * C<extra_paired_delimiters> - enables the use of more paired string delimiters than the traditional four, S<C<< < > >>>, S<C<( )>>, S<C<{ }>>, and S<C<[ ]>>. This was added in perl 5.36. @@ -224,7 +224,7 @@ =item * C<lexical_subs> - allow the use of lexical subroutines. -This was added in 5.18.0. +This was added in 5.18.0, and became non-experimental (and always enabled) in 5.26.0. =item * C<postderef> - allow the use of postfix dereferencing expressions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/experimental-0.030/lib/stable.pm new/experimental-0.031/lib/stable.pm --- old/experimental-0.030/lib/stable.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/experimental-0.031/lib/stable.pm 2023-01-31 22:46:03.000000000 +0100 @@ -0,0 +1,159 @@ +package stable; +$stable::VERSION = '0.031'; +use strict; +use warnings; +use version (); + +use experimental (); +use Carp qw/croak carp/; + +my %allow_at = ( + bitwise => 5.022000, + isa => 5.032000, + lexical_subs => 5.022000, + postderef => 5.020000, +); + +sub import { + my ($self, @pragmas) = @_; + + for my $pragma (@pragmas) { + my $min_ver = $allow_at{$pragma}; + croak "unknown stablized experiment $pragma" unless defined $min_ver; + croak "requested stablized experiment $pragma, which is stable at $min_ver but this is $]" + unless $] >= $min_ver; + } + + experimental->import(@pragmas); + return; +} + +sub unimport { + my ($self, @pragmas) = @_; + + # Look, we could say "You can't unimport stable experiment 'bitwise' on + # 5.20" but it just seems weird. -- rjbs, 2022-03-05 + experimental->unimport(@pragmas); + return; +} + +1; + +#ABSTRACT: Experimental features made easy, once we know they're stable + +__END__ + +=pod + +=encoding UTF-8 + +=head1 NAME + +stable - Experimental features made easy, once we know they're stable + +=head1 VERSION + +version 0.031 + +=head1 SYNOPSIS + + use stable 'lexical_subs', 'bitwise'; + my sub is_odd($value) { $value & 1 } + +=head1 DESCRIPTION + +The L<experimental> pragma makes it easy to turn on experimental while turning +off associated warnings. You should read about it, if you don't already know +what it does. + +Seeing C<use experimental> in code might be scary. In fact, it probably should +be! Code that uses experimental features might break in the future if the perl +development team decides that the experiment needs to be altered. When +experiments become stable, because the developers decide they're a success, the +warnings associated with them go away. When that happens, they can generally +be turned on with C<use feature>. + +This is great, if you are using a version of perl where the feature you want is +already stable. If you're using an older perl, though, it might be the case +that you want to use an experimental feature that still warns, even though +there's no risk in using it, because subsequent versions of perl have that +feature unchanged and now stable. + +Here's an example: The C<postderef> feature was added in perl 5.20.0. In perl +5.24.0, it was marked stable. Using it would no longer trigger a warning. The +behavior of the feature didn't change between 5.20.0 and 5.24.0. That means +that it's perfectly safe to use the feature on 5.20 or 5.22, even though +there's a warning. + +In that case, you could very justifiably add C<use experimental 'postderef'> +but the casual reader may still be worried at seeing that. The C<stable> +pragma exists to turn on experimental features only when it's known that +their behavior in the running perl is their stable behavior. + +If you try to use an experimental feature that isn't stable or available on +the running version of perl, an exception will be thrown. You should also take +care that you've required the version of C<stable> that you need! + +If it's not immediately obvious why, here's a bit of explanation: + +=over 4 + +=item * + +C<stable> comes with perl, starting with perl v5.38. + +=item * + +Imagine that v5.38 adds a feature called "florps". It will stop being +experimental in v5.42. + +=item * + +The version of C<stable> that comes with perl v5.38 can't know that the +I<florps> experiment will succeed, so you can't C<use stable 'florps'> on the +version of stable ships with v5.38, because it can't see the future! + +=item * + +You'll need to write C<use stable 1.234 'florps'> to say that you need version +1.234 of stable, which is when I<florps> became known to stable. + +=back + +Sure, it's a little weird, but it's worth it! The documentation of this pragma +will tell you what version of C<stable> you need to require in order to use +various features. See below. + +At present there are only a few "stable" features: + +=over 4 + +=item * C<bitwise> - stable as of perl 5.22, available via stable 0.031 + +=item * C<isa> - stable as of perl 5.32, available via stable 0.031 + +=item * C<lexical_subs> - stable as of perl 5.22, available via stable 0.031 + +Lexical subroutines were actually added in 5.18, and their design did not +change, but significant bugs makes them unsafe to use before 5.22. + +=item * C<postderef> - stable as of perl 5.20, available via stable 0.031 + +=back + +=head1 SEE ALSO + +L<perlexperiment|perlexperiment> contains more information about experimental features. + +=head1 AUTHOR + +Leon Timmermans <[email protected]> + +=head1 COPYRIGHT AND LICENSE + +This software is copyright (c) 2013 by Leon Timmermans. + +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + +=cut
