File Coverage

blib/lib/List/Objects/WithUtils/Role/Array/TiedRO.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package List::Objects::WithUtils::Role::Array::TiedRO;
2             $List::Objects::WithUtils::Role::Array::TiedRO::VERSION = '2.028002';
3             =for Pod::Coverage *EVERYTHING*
4              
5             =cut
6              
7 3     3   1781 use strictures 2;
  3         20  
  3         138  
8 3     3   581 use Carp ();
  3         6  
  3         44  
9              
10             # This role can be applied to the objects backing tied arrays
11             # after construction time in order to swap a mutable tied array
12             # for an immutable implementation;
13             # Array::Immutable::Typed::immarray_of does this in order to retain
14             # normal tied type array behavior until construction is complete.
15              
16 3     3   10 use Role::Tiny;
  3         4  
  3         15  
17              
18             around $_ => sub {
19             Carp::croak "Attempted to modify a read-only value"
20             } for qw/
21             STORE
22             STORESIZE
23             CLEAR
24             PUSH
25             POP
26             SHIFT
27             SPLICE
28             UNSHIFT
29             EXTEND
30             /;
31              
32             1;