Message-ID: <
20030101225459.A2320@cs839290-a.mtth.phub.net.cable.rogers.com>
(Pity the first patch fell through the cracks back then.
Not that forbidding non-object copy constructors is the right
thing to do but the bug could use fixing.)
p4raw-id: //depot/perl@21276
print overload::StrVal(qr/a/) =~ /^Regexp=SCALAR\(0x[0-9a-f]+\)$/ ? "ok 228\n" : "not ok 228\n";
+{
+ package t229;
+ use overload '=' => sub { 42 },
+ '++' => sub { my $x = ${$_[0]}; $_[0] };
+ sub new { my $x = 42; bless \$x }
+
+ my $warn;
+ {
+ local $SIG{__WARN__} = sub { $warn++ };
+ my $x = t229->new;
+ my $y = $x;
+ eval { $y++ };
+ }
+ print $warn ? "not ok 229\n" : "ok 229\n";
+}
+
# Last test is:
-sub last {228}
+sub last {229}
changed SV* ref to SV* tmpRef */
#define RvDEEPCP(rv) STMT_START { SV* tmpRef=SvRV(rv); \
if (SvREFCNT(tmpRef)>1) { \
+ SvRV(rv)=AMG_CALLun(rv,copy); \
SvREFCNT_dec(tmpRef); \
- SvRV(rv)=AMG_CALLun(rv,copy); \
} } STMT_END
/*