Make cref registry thread-safe and a ton of tests
[p5sagit/Class-Accessor-Grouped.git] / lib / Class / Accessor / Grouped.pm
index d392a48..fb7a1ed 100644 (file)
@@ -788,6 +788,14 @@ my $original_simple_setter = __PACKAGE__->can ('set_simple');
 
 my ($resolved_methods, $cag_produced_crefs);
 
+sub CLONE {
+  my @crefs = grep { defined $_ } values %{$cag_produced_crefs||{}};
+  $cag_produced_crefs = @crefs
+    ? { map { $_ => $_ } @crefs }
+    : undef
+  ;
+}
+
 # Note!!! Unusual signature
 $gen_accessor = sub {
   my ($type, $class, $group, $field, $methname) = @_;