Incompatibility between AnyEvent and Config::Std

Marc Lehmann schmorp at schmorp.de
Sun Dec 23 07:08:44 CET 2012


On Sat, Dec 22, 2012 at 07:56:46PM -0600, Rob Schaber <robschaber at gmail.com> wrote:
> I'm using the latest version of both modules and got the same error
> on Windows and Linux (perl 5.14). I looked in the docs to try to
> figure out what was going on and noticed in `perldoc UNIVERSAL`:

Note that the rationale given doesn't apply for this case (no
implementation class of AnyEvent will ever override can) and would, if
true, break a decade of existing practise. The same is true for the
stackoverflow discussion.

So whoever changed the documentation for UNIVERSAL was either pretty
clueless, or just left in the "never do this" as advise for newbies,
rather than as a rule, because the rationale given for not calling
UNIVERSAL::can does not lead to the stated conclusion.

However, none of that matters, because:

> Looks like Class::Std (used by Config::Std) is indeed overriding
> UNIVERSAL::can

If a module overrides a *global* *documented* function in *all* modules it
better gets it right, so there is no doubt who is to blame: Config::Std
patches AnyEvent in incompatible ways, and simply needs to be fixed.

> But I'm not sure who's stepping on whose toes. Let me know if I
> should take this up with the other module's author.

Indeed, I suggest you report this bug to the Class::Std author.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\



More information about the anyevent mailing list