I am not sure it is entirely my decision. If it is entirely my decision
Must have a working scalar::util::weaken to use the new Test::Simple. The
xs is included in the dist. A Test-Simple-XS dist may be created if desired
requirement. Up to rjbs and p5p as to of the xs components will be part of
core.
However I want to know how the rest of perl-qa feels about this first. If
people are not bothered by using scalar::util then we have no problem. If
options.
Post by bulk88Post by Chad GranumI have no objections to having OPTIONAL XS available to speed things up
for people who want it. However I will not accept making XS a requirement.
I thought that since Scalar::Util::weaken was in core that there would be
no issues using it in a core module.
Core includes XS modules. You relied on an XS module, see below.
If using weaken makes Test-Simple non-corable, then I will use a
Post by Chad Granumslightly alternate design.
Current new Test::Simple is slightly slower than legacy, will your
non-weaken solution make new Test::Simple twice as slow as legacy? Because
of the rjbs post that supposedly (someone else should confirm this)
minitest does not use Test::*, new Test::Simple can use all the XS it
wants. Maybe you want to change the design rule and say XS is mandatory to
run new Test::More, but also remember, legacy Test::Simple doesn't require
XS. There are 2 levels of "requires XS", 1 is to say you must have a
working C compiler to install new Test::Simple, the other level is to say,
at some point in the past you or your predecessor must have had access to a
C compiler to build the core XS modules. If your platform's perl doesn't
have DynaLoader, or if your OS vendor/IT dept decided to only distribute
XS-free core modules, then sorry, new Test::Simple is not supported on your
system (must have working Scalar::Util).
To prove new Test::Simple requires XS, I ran.
---------------------------------------------------------
C:\perl521\srcnewb4opt>miniperl -IC:\sources\testmorenew\lib -Ilib
-MTest::More
-e"0"
Can't load module List::Util, dynamic loading not available in this perl.
(You may need to build a new perl executable which either supports
dynamic loading or has the List::Util module statically linked into it.)
at lib/Scalar/Util.pm line 11.
Compilation failed in require at lib/Scalar/Util.pm line 11.
Compilation failed in require at
C:\sources\testmorenew\lib/Test/Stream/Util.pm line 5.
BEGIN failed--compilation aborted at
C:\sources\testmorenew\lib/Test/Stream/Util.pm line 5.
Compilation failed in require at
C:\sources\testmorenew\lib/Test/Stream.pm line 9.
BEGIN failed--compilation aborted at
C:\sources\testmorenew\lib/Test/Stream.pm line 9.
Compilation failed in require at C:\sources\testmorenew\lib/Test/More.pm
line 10.
BEGIN failed--compilation aborted at
C:\sources\testmorenew\lib/Test/More.pm line 10.
Compilation failed in require.
BEGIN failed--compilation aborted.
C:\perl521\srcnewb4opt>
---------------------------------------------------------
Legacy doesn't requre XS
---------------------------------------------------------
C:\perl521\srcnewb4opt>miniperl -Ilib -MTest::More -e"0"
C:\perl521\srcnewb4opt>
---------------------------------------------------------
So what is your (exodist) design rule, atleast for now, on XS and new
Test::Simple?