X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse.pm;h=97914a6b2ade94d63e076539a8f5553703f99abe;hb=7daedfff24bc2061ea1028f415b2e914bd8f1639;hp=72d6ba3d6e27b54b7a92bd2899d3f7dec80e96e2;hpb=8aeec00e16ce77ccab0e5222106b2b83979edb5f;p=gitmo%2FMouse.git diff --git a/lib/Mouse.pm b/lib/Mouse.pm index 72d6ba3..97914a6 100644 --- a/lib/Mouse.pm +++ b/lib/Mouse.pm @@ -85,6 +85,12 @@ sub import { my $caller = caller; + # we should never export to main + if ($caller eq 'main') { + warn qq{$class does not export its sugar to the 'main' package.\n}; + return; + } + my $meta = Mouse::Meta::Class->initialize($caller); $meta->superclasses('Mouse::Object') unless $meta->superclasses; @@ -228,33 +234,6 @@ as Mouse unless Moose is loaded, in which case it will act as Moose. Mouse also has the blessings of Moose's author, stevan. -=head2 MISSING FEATURES - -=head3 Roles - -We're working on fixing this one! stevan has suggested an implementation -strategy. Mouse currently ignores methods, so that needs to be fixed next. -Roles that consist entirely of attributes may be usable in this very version. - -=head3 Complex types - -User-defined type constraints and parameterized types may be implemented. Type -coercions probably not (patches welcome). - -=head3 Bootstrapped meta world - -Very handy for extensions to the MOP. Not pressing, but would be nice to have. - -=head3 Modification of attribute metaclass - -When you declare an attribute with L, you get the inlined accessors -installed immediately. Modifying the attribute metaclass, even if possible, -does nothing. - -=head3 Lots more.. - -MouseX? - =head1 KEYWORDS =head2 meta -> Mouse::Meta::Class