Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit cc6f2bd

Browse files
committed
experimental-0.019_01c
1 parent 0535715 commit cc6f2bd

File tree

6 files changed

+82
-18
lines changed

6 files changed

+82
-18
lines changed

Porting/Maintainers.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,13 +582,14 @@ package Maintainers;
582582
},
583583

584584
'experimental' => {
585-
'DISTRIBUTION' => 'LEONT/experimental-0.016.tar.gz',
585+
'DISTRIBUTION' => 'LEONT/experimental-0.019.tar.gz',
586586
'FILES' => q[cpan/experimental],
587587
'EXCLUDED' => [
588588
qr{^t/release-.*\.t},
589589
qr{^xt/},
590590
't/00-compile.t',
591591
],
592+
'CUSTOMIZED' => [ qw( lib/experimental.pm )],
592593
},
593594

594595
'Exporter' => {

cpan/experimental/lib/experimental.pm

Lines changed: 70 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package experimental;
2-
$experimental::VERSION = '0.016_01c'; #cperl fixed lexical_topic
2+
$experimental::VERSION = '0.019_01c'; #cperl fixed lexical_topic
33
use strict;
44
use warnings;
55
use version ();
66

7-
use feature ();
7+
BEGIN { eval { require feature } };
88
use Carp qw/croak carp/;
99

1010
my %warnings = map { $_ => 1 } grep { /^experimental::/ } keys %warnings::Offsets;
@@ -21,6 +21,7 @@ my %min_version = (
2121
array_base => '5',
2222
autoderef => '5.14.0',
2323
bitwise => '5.22.0',
24+
const_attr => '5.22.0',
2425
current_sub => '5.16.0',
2526
evalbytes => '5.16.0',
2627
fc => '5.16.0',
@@ -39,6 +40,7 @@ my %min_version = (
3940
unicode_strings => '5.12.0',
4041
);
4142
my %max_version = (
43+
autoderef => '5.23.1',
4244
#lexical_topic => '5.23.4',
4345
);
4446

@@ -128,7 +130,7 @@ experimental - Experimental features made easy
128130
129131
=head1 VERSION
130132
131-
version 0.016
133+
version 0.019_01c
132134
133135
=head1 SYNOPSIS
134136
@@ -159,15 +161,67 @@ To disable the feature and, if applicable, re-enable any warnings, use:
159161
160162
The supported features, documented further below, are:
161163
162-
array_base - allow the use of $[ to change the starting index of @array
163-
autoderef - allow push, each, keys, and other built-ins on references
164-
postderef - allow the use of postfix dereferencing expressions, including
165-
in interpolating strings
166-
refaliasing - allow aliasing via \$x = \$y
167-
regex_sets - allow extended bracketed character classes in regexps
168-
signatures - allow subroutine signatures (for named arguments)
169-
smartmatch - allow the use of ~~
170-
switch - allow the use of ~~, given, and when
164+
=over 4
165+
166+
=item * C<array_base> - allow the use of C<$[> to change the starting index of C<@array>.
167+
168+
This is supported on all versions of perl.
169+
170+
=item * C<autoderef> - allow push, each, keys, and other built-ins on references.
171+
172+
This was added in perl 5.14.0 and removed in perl 5.23.1.
173+
174+
=item * C<bitwise> - allow the new stringwise bit operators
175+
176+
This was added in perl 5.22.0.
177+
178+
=item * C<const_attr> - allow the :const attribute on subs
179+
180+
This was added in perl 5.22.0.
181+
182+
=item * C<lexical_topic> - allow the use of lexical C<$_> via C<my $_>.
183+
184+
This was added in perl 5.10.0 and removed in perl 5.23.4.
185+
186+
=item * C<lexical_subs> - allow the use of lexical subroutines.
187+
188+
This was added in 5.18.0.
189+
190+
=item * C<postderef> - allow the use of postfix dereferencing expressions,
191+
including in interpolating strings
192+
193+
This was added in perl 5.20.0.
194+
195+
=item * C<re_strict> - enables strict mode in regular expressions
196+
197+
This was added in perl 5.22.0.
198+
199+
=item * C<refaliasing> - allow aliasing via C<\$x = \$y>
200+
201+
This was added in perl 5.22.0.
202+
203+
=item * C<regex_sets> - allow extended bracketed character classes in regexps
204+
205+
This was added in perl 5.18.0.
206+
207+
=item * C<signatures> - allow subroutine signatures (for named arguments)
208+
209+
This was added in perl 5.20.0.
210+
211+
=item * C<smartmatch> - allow the use of C<~~>
212+
213+
This was added in perl 5.10.0, but it should be noted there are significant
214+
incompatibilities between 5.10.0 and 5.10.1.
215+
216+
=item * C<switch> - allow the use of C<~~>, given, and when
217+
218+
This was added in perl 5.10.0.
219+
220+
=item * C<win32_perlio> - allows the use of the :win32 IO layer.
221+
222+
This was added on perl 5.22.0.
223+
224+
=back
171225
172226
=head2 Ordering matters
173227
@@ -194,6 +248,10 @@ on again by the Moose module (fix is to switch the last two lines):
194248
Because of the nature of the features it enables, forward compatibility can not
195249
be guaranteed in any way.
196250
251+
=head1 SEE ALSO
252+
253+
L<perlexperimental|perlexperimental> contains more information about experimental features.
254+
197255
=head1 AUTHOR
198256
199257
Leon Timmermans <leont@cpan.org>

cpan/experimental/t/basic.t

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
#! perl
22

3+
use strict;
4+
use warnings;
5+
36
use Test::More 0.89;
47

58
local $SIG{__WARN__} = sub { fail("Got unexpected warning"); diag($_[0]) };
@@ -12,9 +15,6 @@ if ($] >= 5.010000) {
1215
1;
1316
END
1417
}
15-
else {
16-
fail("No experimental features available on perl $]");
17-
}
1818

1919
if ($] >= 5.010001) {
2020
is (eval <<'END', 1, 'switch compiles') or diag $@;
@@ -35,8 +35,8 @@ END
3535
if ($] >= 5.010001) {
3636
is (eval <<'END', 1, 'smartmatch compiles') or diag $@;
3737
use experimental 'smartmatch';
38-
sub bar { 1 };
39-
is(1 ~~ \&bar, 1, "is 1");
38+
sub baz { 1 };
39+
is(1 ~~ \&baz, 1, "is 1");
4040
1;
4141
END
4242
}
@@ -53,6 +53,7 @@ END
5353
if ($] >= 5.021005) {
5454
is (eval <<'END', 1, 'ref aliasing compiles') or diag $@;
5555
use experimental 'refaliasing';
56+
my (@a, @b);
5657
\@a = \@b;
5758
is(\@a, \@b, '@a and @b are the same after \@a=\@b');
5859
1;

dist/Module-CoreList/lib/Module/CoreList.pm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15927,6 +15927,7 @@ our %delta = (
1592715927
'Encode::Unicode' => '2.16',
1592815928
'Encode::Unicode::UTF7' => '2.10',
1592915929
'encoding' => '2.21',
15930+
'experimental' => '0.019_01c',
1593015931
'ExtUtils::CBuilder' => '0.280230',
1593115932
'ExtUtils::CBuilder::Base' => '0.280230',
1593215933
'ExtUtils::CBuilder::Platform::Unix' => '0.280230',

pod/perlcdelta.pod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ But skip UpDowngrade() on CORE for reproducible builds
114114

115115
=item L<Encode> 2.93
116116

117+
=item L<experimental> 0.019_01c
118+
117119
=item L<ExtUtils::CBuilder> 0.280230
118120

119121
=item L<ExtUtils::Constant> 0.24_01

t/porting/customized.dat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ YAML::LibYAML cpan/YAML-LibYAML/t/TestYAML.pm 527302db61c55bf695da94adfa66e7c2f3
9696
YAML::LibYAML cpan/YAML-LibYAML/t/TestYAMLTests.pm 9716931aaf2305fab4a41f35560362947ba3a805
9797
autodie cpan/autodie/t/mkdir.t 9e70d2282a3cc7d76a78bf8144fccba20fb37dac
9898
base dist/base/lib/base.pm 8db115a702f759526b031f90cc572d97086978a6
99+
experimental cpan/experimental/lib/experimental.pm 200983fcfab59ad2a65b94b86ae10693f5d4e1c8
99100
lib dist/lib/lib_pm.PL 6f1951dc926375aa93b93515aa5f3c1ca1396b05
100101
threads dist/threads/lib/threads.pm 7a97056db5cd1f495002050f9bc71cd5b26796ab
101102
threads dist/threads/threads.xs e40ca2536fc7a3249095559d3b8b55bf2dedc7cc

0 commit comments

Comments
 (0)