From: Peter Rabbitson <ribasushi@cpan.org>
Date: Mon, 20 Jan 2014 13:12:23 +0000 (+0100)
Subject: Do not track plain scalar refs on 5.17+ for the time being
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=10635a066c00ae04b8bb214ea0e10c26939f1a98;p=dbsrgits%2FDBIx-Class-Historic.git

Do not track plain scalar refs on 5.17+ for the time being
---

diff --git a/t/lib/DBICTest/Util/LeakTracer.pm b/t/lib/DBICTest/Util/LeakTracer.pm
index bb1b73e..ef178f9 100644
--- a/t/lib/DBICTest/Util/LeakTracer.pm
+++ b/t/lib/DBICTest/Util/LeakTracer.pm
@@ -11,6 +11,7 @@ use Data::Dumper::Concise;
 use DBICTest::Util 'stacktrace';
 use constant {
   CV_TRACING => DBIx::Class::Optional::Dependencies->req_ok_for ('test_leaks_heavy'),
+  SKIP_SCALAR_REFS => ( $] > 5.017 ) ? 1 : 0,
 };
 
 use base 'Exporter';
@@ -53,6 +54,10 @@ sub populate_weakregistry {
       for keys %$reg;
   }
 
+  # FIXME/INVESTIGATE - something fishy is going on with refs to plain
+  # strings, perhaps something to do with the CoW work etc...
+  return $target if SKIP_SCALAR_REFS and reftype($target) eq 'SCALAR';
+
   if (! defined $weak_registry->{$refaddr}{weakref}) {
     $weak_registry->{$refaddr} = {
       stacktrace => stacktrace(1),