Since Test::Stream::Context's core design uses weaken() everywhere, that means new Test::Simple always requires XS building (for Scalar::Util), which means it will never run on miniperl, and hence, new Test::Simple will never be in Perl core, is my understanding correct?
I am asking this since if new Test::Simple is not PP clean and never will be, there are couple places I would like to throw XS at (the accessors in Test::Stream::HashBase::Meta in particular).
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?
Just to also be clear. My alternate implementation would be a fallback. If scalar::util works it uses it, if not it falls back to a slightly different system. The switch would happen when Context.pm is loaded. So even if the fallback is slightly slower, few if any systems would ever experience it. The fallback I have in mind also maintains the exact same interface, so it would be seamless to users, and does not deviate from the current context usage in any way.