use Mouse::Meta::Attribute;
use Mouse::Meta::Class;
use Mouse::Object;
-use Mouse::TypeRegistry;
+use Mouse::Util::TypeConstraints;
our @EXPORT = qw(extends has before after around blessed confess with);
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;
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</has>, you get the inlined accessors
-installed immediately. Modifying the attribute metaclass, even if possible,
-does nothing.
+=head2 MouseX
-=head3 Lots more..
+Please don't copy MooseX code to MouseX. If you need extensions, you really
+should upgrade to Moose. We don't need two parallel sets of extensions!
-MouseX?
+If you really must write a Mouse extension, please contact the Moose mailing
+list or #moose on IRC beforehand.
=head1 KEYWORDS