From: Tomas Doran Date: Mon, 2 Feb 2009 15:24:34 +0000 (+0000) Subject: Add note about another syntax used screw your self with C3 X-Git-Tag: 5.8000_06~14 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=8566c0de7c243b0ba1555e321759ca74bc1c05db;hp=b3358e01f2ba37f07cbe2bb5d06410d2b8f8a627 Add note about another syntax used screw your self with C3 --- diff --git a/lib/Catalyst/Upgrading.pod b/lib/Catalyst/Upgrading.pod index 92cc25e..78a6d6c 100644 --- a/lib/Catalyst/Upgrading.pod +++ b/lib/Catalyst/Upgrading.pod @@ -24,10 +24,20 @@ Moose components for Catalyst 5.70 needed to do extends qw/Moose::Object Catalyst::Component/; to be able to use the constructor provided by Moose. In 5.80 -C already inherits from C. Therefor you +C already inherits from C. Therefore you shouldn't directly inherit from C yourself, otherwise your Class' @ISA will not linearize with C3. +You will also see this issue if you do the following: + + use Moose; + use base 'Catalyst::Controller'; + +as C< use base > appends to @ISA. + +FIXME - Add note about the appropriate magic to detect $Catalyst::VERSION +and work around it at compile time. + =head2 Anonymous closures installed directly into the symbol table If you have any code which installs anonymous subroutine references directly