I am not sure it is entirely my decision. If it is entirely my decision
than this is it:
Must have a working scalar::util::weaken to use the new Test::Simple. The
Test-Simple dist itself will not require a c compiler to install, as in no
xs is included in the dist. A Test-Simple-XS dist may be created if desired
that will be used by Test-Simple if it is installed, but it will not be a
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
they are bothered by scalar::util being used then we need to look at
options.

Does anyone have a strong opinion about Test-Simple needing scalar::util?
On Apr 25, 2015 8:57 PM, "bulk88" <bul...@hotmail.com> wrote:

> Chad Granum wrote:
>
>> I 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 slightly
>> 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?
>

Reply via email to