Class-Std
view release on metacpan or search on metacpan
lib/Class/Std.pm view on Meta::CPAN
the initialization value I<was> passed, but the key specifying the
attribute name was misspelled.
=item Can't make anonymous subroutine cumulative
You attempted to use the C<:CUMULATIVE> marker on an anonymous subroutine.
But that marker can only be applied to the named methods of a class. Convert
the anonymous subroutine to a named subroutine, or find some other way to
make it interoperate with other methods.
=item Conflicting definitions for cumulative method: %s
You defined a C<:CUMULATIVE> and a C<:CUMULATIVE(BASE FIRST)> method of the
same name in two classes within the same hierarchy. Since methods can only be
called going strictly up through the hierarchy or going strictly down
through the hierarchy, specifying both directions is obviously a mistake.
Either rename one of the methods, or decide whether they should accumulate
upwards or downwards.
=item Missing new value in call to 'set_%s' method
You called an attribute setter method without providing a new value
for the attribute. Often this happens because you passed an array that
happened to be empty. Make sure you pass an actual value.
=item Can't locate %s method "%s" via package %s
You attempted to call a method on an object but no such method is defined
anywhere in the object's class hierarchy. Did you misspell the method name, or
perhaps misunderstand which class the object belongs to?
=item %s method %s declared but not defined
A method was declared with a C<:RESTRICTED> or C<:PRIVATE>, like so:
sub foo :RESTRICTED;
sub bar :PRIVATE;
But the actual subroutine was not defined by the end of the compilation
phase, when the module needed it so it could be rewritten to restrict or
privatize it.
=item Can't call restricted method %s from class %s
The specified method was declared with a C<:RESTRICTED> marker but
subsequently called from outside its class hierarchy. Did you call the
wrong method, or the right method from the wrong place?
=item Can't call private method %s from class %s
The specified method was declared with a C<:PRIVATE> marker but
subsequently called from outside its own class. Did you call the wrong
method, or the right method from the wrong place?
=item Internal error: %s
Your code is okay, but it uncovered a bug in the Class::Std module.
L<BUGS AND LIMITATIONS> explains how to report the problem.
=back
=head1 CONFIGURATION AND ENVIRONMENT
Class::Std requires no configuration files or environment variables.
=head1 DEPENDENCIES
Class::Std depends on the following modules:
=over
=item *
version
=item *
Scalar::Util
=item *
Data::Dumper
=back
=head1 INCOMPATIBILITIES
Incompatible with the Attribute::Handlers module, since both define
meta-attributes named :ATTR.
=head1 BUGS AND LIMITATIONS
=over
=item *
Does not handle threading (including C<fork()> under Windows).
=item *
C<:ATTR> declarations must all be on the same line (due to a limitation in
Perl itself).
=item *
C<:ATTR> declarations cannot include variables, since these are not
interpolated into the declaration (a limitation in Perl itself).
=back
Please report any bugs or feature requests to
C<bug-class-std@rt.cpan.org>, or through the web interface at
L<http://rt.cpan.org>.
=head1 ALTERNATIVES
Inside-out objects are gaining in popularity and there are now many other
modules that implement frameworks for building inside-out classes. These
include:
=over
=item Object::InsideOut
Array-based objects, with support for threading. Many excellent features
(especially thread-safety), but slightly less secure than Class::Std,
due to non-encapsulation of attribute data addressing.
=item Class::InsideOut
A minimalist approach to building inside-out classes.
=item Lexical::Attributes
Uses source filters to provide a near-Perl 6 approach to declaring inside-out
classes.
=item Class::Std::Storable
Adds serialization/deserialization to Class::Std.
=back
=head1 AUTHOR
Damian Conway C<< <DCONWAY@cpan.org> >>
=head1 LICENCE AND COPYRIGHT
( run in 1.930 second using v1.01-cache-2.11-cpan-39bf76dae61 )