1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
Source: libclass-autoloadcan-perl
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Section: perl
Testsuite: autopkgtest-pkg-perl
Priority: optional
Build-Depends: debhelper-compat (= 13),
libmodule-build-perl
Build-Depends-Indep: perl
Standards-Version: 3.9.6
Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libclass-autoloadcan-perl
Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libclass-autoloadcan-perl.git
Homepage: https://metacpan.org/release/Class-AutoloadCAN
Package: libclass-autoloadcan-perl
Architecture: all
Depends: ${misc:Depends},
${perl:Depends}
Multi-Arch: foreign
Description: module managing conflict between AUTOLOAD, can and inheritance
Class::AutoloadCAN solves a fundamental conflict between AUTOLOAD, can and
inheritance. The problem is that while you can implement anything in
AUTOLOAD, UNIVERSAL::can is not aware that it is there. Attempting to modify
UNIVERSAL::can to document those methods is very hard. And if a parent class
uses AUTOLOAD then subclasses have to do a lot of work to make their
AUTOLOADs cooperate with the parent one. It is harder still if 2 parent
classes in a multiple inheritance tree wish to cooperate with each other. Few
try to do this, which may be good since those who try usually get it wrong.
See http://www.perlmonks.org/?node_id=342804 for a fuller discussion.
.
With this module instead of writing AUTOLOADs, you write CANs. Based on what
they return, Class::AutoloadCAN will decide whether you handle the call or it
needs to search higher up the inheritance chain.
|