Add an assert() to verify my assumption that no-one upgrades a scalar
Nicholas Clark [Sun, 23 Dec 2007 11:27:25 +0000 (11:27 +0000)]
which has a referant but isn't flagged as a reference.

p4raw-id: //depot/perl@32715

sv.c

diff --git a/sv.c b/sv.c
index bce242f..bd90934 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -1123,6 +1123,12 @@ Perl_sv_upgrade(pTHX_ register SV *sv, svtype new_type)
     if (old_type == new_type)
        return;
 
+    if (old_type == SVt_RV) {
+       /* Verify my assumption that no-one upgrades a scalar which has a
+          referant but isn't flagged as a reference.  */
+       assert(!(!SvROK(sv) && SvRV(sv)));
+    }
+
     old_body = SvANY(sv);
 
     /* Copying structures onto other structures that have been neatly zeroed