Guys,

This may be a known bug with MooseX::Declare, but I didn't see any
mention of it in my cursory web search, so I thought I would ask about
it here.

This code:

    use MooseX::Declare;

    class Foo
    {
    }

    class Bar
        extends Foo
    {
    }

compiles fine.  But this code:

    use MooseX::Declare;

    class Foo
    {
    }

    class Bar               # this is my new class!
        extends Foo
    {
    }

Gives me an error, specifically:

Unmatched right curly bracket at mxdecl_bug line 9, at end of line
Not enough arguments for main::class at mxdecl_bug line 9, near "}"
syntax error at mxdecl_bug line 9, near "}"
mxdecl_bug had compilation errors.

I assume this is something about the way Devel::Declare works, but I
don't understand that nearly well enough to offer a patch or anything.
 Is this something that can be fixed?  I don't mind it myself so much,
but I'm trying to convert an 11-person team here from using "whatever
homegrown object I felt like making that day" to Moose, and as few
things as possible such as "oh, and remember: don't put comments into
the middle of your class declarations" would really be helpful.  (I've
got a few "change is Evil!" types over here who would jump on that as
"proof" that switching to Moose would be bad.  Not that that's your
problem, of course, but hopefully you have some sympathy for my
situation. <s>)

Have to say in general, though, that Moose is rockin' my world right
now.  I looked at it several years ago, but the improvements
(especially in terms of startup performance) combined with just
overall kickass design really make Moose a pleasure to program in.  I
left C++ over a decade ago and never looked back, but on those rare
occasions when I miss something about it, the things I miss are
exactly what Moose provides.  I know that lists like this are mainly
for people to post problems, so I just wanted to make sure you guys
got some good feedback too.  Thanx for all the antlers! :-)


            -- Buddy

Reply via email to