|
Packit |
14c646 |
use Test::More tests => 1;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
package dumb_thing;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
use strict; use warnings;
|
|
Packit |
14c646 |
use Tie::Array;
|
|
Packit |
14c646 |
use Carp;
|
|
Packit |
14c646 |
use base 'Tie::StdArray';
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
sub TIEARRAY {
|
|
Packit |
14c646 |
my $class = shift;
|
|
Packit |
14c646 |
my $this = bless [], $class;
|
|
Packit |
14c646 |
my $that = shift;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
@$this = @$that;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
$this;
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
package main;
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
use strict; use warnings;
|
|
Packit |
14c646 |
use Storable qw(freeze thaw);
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
my $x = [1,2,3,4];
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
broken($x); # ties $x
|
|
Packit |
14c646 |
broken( thaw( freeze($x) ) ); # since 5.16 fails with "Cannot tie unreifiable array"
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
sub broken {
|
|
Packit |
14c646 |
my $w = shift;
|
|
Packit |
14c646 |
tie @$_, dumb_thing => $_ for $w;
|
|
Packit |
14c646 |
}
|
|
Packit |
14c646 |
|
|
Packit |
14c646 |
# fails since 5.16
|
|
Packit |
14c646 |
ok 1, 'Does not fail with "Cannot tie unreifiable array" RT#84705';
|