Thanks Stevan! I think I will stop using MooseX::Declare. I'll just wait for Perl6. ;-)
Also, I really like your Bread::Board stuff. Very cool. Thanks again, Rick > -----Original Message----- > From: Stevan Little [mailto:[email protected]] > Sent: Saturday, January 22, 2011 12:41 PM > To: Rick Apichairuk > Cc: 'Nick Perez'; [email protected] > Subject: Re: Inheritance not working for some weird reason. > > Quick disclaimer: I don't use MooseX::Declare personally and I never have, > the level of sugar never appealed to me. That said .... > > Honestly, I think the answer is to stop using MooseX::Declare. > > After I saw your nopaste on #moose last night, I was looking over > MX::Declare and noticed that no major work has really been done on it in > over a year. It is and has always been *highly* experimental and it is only > recommend for production use if you are willing to deal with some of it's > fragility and odd edge cases. > > This in contrast to plain Moose which is very *VERY* stable and for which > inheritance always Just Works. > > Maybe it is not as sexy, but if that is what you want, I recommend Ruby ;) > > - Stevan > > > > On Jan 22, 2011, at 3:07 PM, Rick Apichairuk wrote: > > > > >> -----Original Message----- > >> From: Nick Perez [mailto:[email protected]] > >> Sent: Saturday, January 22, 2011 2:47 AM > >> To: Rick Apichairuk > >> Cc: [email protected] > >> Subject: Re: Inheritance not working for some weird reason. > >> > >> Hey Rick, > >> > >> So I had at look at your code and cleaned it up some what and made it > >> run within a single file. In the future, please refrain from large > >> examples. > > It really > >> helps people to see your problem better if you can make a very small, > >> very succinct test. > >> > >> From what I can see, this runs without problem. I did have to change > >> the 'BAD' tests at the bottom to account for the proper values. > >> > > > > I tried your version and it did work. However, this code was intended > > to be in separate packages and that is when the error occurs. Did you > > run my version (in separate class files) and did it work for you? > > > >> What versions of MooseX::Declare, Devel::Declare, > >> MooseX::Method::Signatures, Moose, Class::MOP, and perl are you > >> running where this is a problem? > > > > I have asked 3 other people to run the code and everyone experiences > > the same problem. We all have varying versions of Moose, > > MooseX::Declare, Devel::Declare, etc. > > > > On my own machine, I am using the following versions: > > > > This is perl, v5.10.1 (*) built for i686-linux-gnu-thread-multi Moose > > 1.21 MooseX::Declare 0.32 Devel::Declare 0.006000 > > MooseX::Method::Signatures 0.34 Class::MOP 1.11 > > > > I had thought it might have been the new lines in > >> your class declaration that were the issue, but it still runs without > > issue on my > >> end even with the newlines. My other thought is perhaps the double > >> package declarations. You do realize that this: > >> > >> package Foo; > >> > >> use MooseX::Declare; > >> > >> class Foo {...} > >> > >> is essentially doing this: > >> > >> package Foo; > >> use MooseX::Declare; > >> { package Foo; ... } > >> > >> right? I know I've had some trouble with Roles in the past where > >> double declarations of the package has caused issues. If you really > >> want the > > package > >> declaration, I suggest scoping it with braces (this is what I've done > >> when publishing modules to CPAN, so that it runs with the current > >> CPAN > > toolset). > > > > Thanks, I'll definitely keep this in mind in the future. > > > > Rick > >
