use MRO::Compat;
use Sub::Name ();
-our $VERSION = '0.09007';
+our $VERSION = '0.09008';
$VERSION = eval $VERSION;
# when changing minimum version don't forget to adjust L</PERFROMANCE> as well
*$fq_meth = Sub::Name::subname($fq_meth, $final_cref);
+ # older perls segfault if the cref behind the goto throws
+ # http://rt.perl.org/rt3/Public/Bug/Display.html?id=35878
+ return $final_cref->(@_) if ($] < 5.008009);
+
goto $final_cref;
};
};
-my $install_group_accessors = sub {
+# Yes this method is undocumented
+# Yes it should be a private coderef like the one above it
+# No we can't do that (yet) because the DBIC-CDBI compat layer overrides it
+# %$*@!?&!&#*$!!!
+sub _mk_group_accessors {
my($self, $maker, $group, @fields) = @_;
my $class = Scalar::Util::blessed $self || $self;
sub mk_group_accessors {
my ($self, $group, @fields) = @_;
- $self->$install_group_accessors('make_group_accessor', $group, @fields);
+ $self->_mk_group_accessors('make_group_accessor', $group, @fields);
return;
}
sub mk_group_ro_accessors {
my($self, $group, @fields) = @_;
- $self->$install_group_accessors('make_group_ro_accessor', $group, @fields);
+ $self->_mk_group_accessors('make_group_ro_accessor', $group, @fields);
}
=head2 mk_group_wo_accessors
sub mk_group_wo_accessors {
my($self, $group, @fields) = @_;
- $self->$install_group_accessors('make_group_wo_accessor', $group, @fields);
+ $self->_mk_group_accessors('make_group_wo_accessor', $group, @fields);
}
=head2 make_group_accessor