diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-01-03 23:31:08 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-01-03 23:31:08 -0600 |
commit | db7c38b0b0dcd88368ad5b88df89772f63292386 (patch) | |
tree | 2a58818856e7a05707d3c1bbb225c5c924f55376 | |
parent | 90d87eb423c9e8dc48b9633bd7e884505ba9869a (diff) | |
download | package-stash-xs-db7c38b0b0dcd88368ad5b88df89772f63292386.tar.gz package-stash-xs-db7c38b0b0dcd88368ad5b88df89772f63292386.zip |
make it explicit that anon stash support requires 5.10
-rw-r--r-- | XS.xs | 5 | ||||
-rw-r--r-- | t/edge-cases.t | 2 |
2 files changed, 7 insertions, 0 deletions
@@ -556,6 +556,10 @@ new(class, package) } } else if (SvROK(package) && SvTYPE(SvRV(package)) == SVt_PVHV) { +#if PERL_VERSION < 10 + croak("The XS implementation of Package::Stash does not support " + "anonymous stashes before perl 5.10"); +#else instance = newHV(); if (!hv_store(instance, "namespace", 9, SvREFCNT_inc_simple_NN(package), 0)) { @@ -563,6 +567,7 @@ new(class, package) SvREFCNT_dec(instance); croak("Couldn't initialize the 'namespace' key, hv_store failed"); } +#endif } else { croak("Package::Stash->new must be passed the name of the package to access"); diff --git a/t/edge-cases.t b/t/edge-cases.t index ddaca14..4e851c3 100644 --- a/t/edge-cases.t +++ b/t/edge-cases.t @@ -56,6 +56,8 @@ is(ref($stash->get_or_add_symbol('$glob')), 'SCALAR', "got an empty scalar"); SKIP: { skip "PP doesn't support anon stashes before 5.14", 4 if $] < 5.014 && $Package::Stash::IMPLEMENTATION eq 'PP'; + skip "XS doesn't support anon stashes before 5.10", 4 + if $] < 5.010 && $Package::Stash::IMPLEMENTATION eq 'XS'; local $TODO = "don't know how to properly inflate a stash entry in PP" if $Package::Stash::IMPLEMENTATION eq 'PP'; |