Mouse::Util::does_role() respects $thing->does() method
[gitmo/Mouse.git] / lib / Mouse / Spec.pm
index a82fd87..09c2b53 100644 (file)
@@ -2,10 +2,10 @@ package Mouse::Spec;
 use strict;
 use warnings;
 
-our $VERSION = '0.50_03';
+our $VERSION = '0.95';
 
 our $MouseVersion = $VERSION;
-our $MooseVersion = '0.93';
+our $MooseVersion = '1.13';
 
 sub MouseVersion{ $MouseVersion }
 sub MooseVersion{ $MooseVersion }
@@ -19,7 +19,7 @@ Mouse::Spec - To what extent Mouse is compatible with Moose
 
 =head1 VERSION
 
-This document describes Mouse version 0.50_03
+This document describes Mouse version 0.95
 
 =head1 SYNOPSIS
 
@@ -31,24 +31,31 @@ This document describes Mouse version 0.50_03
 =head1 DESCRIPTION
 
 Mouse is a subset of Moose. This document describes to what extend Mouse is
-compatible with Moose.
+compatible (and incompatible) with Moose.
 
 =head2 Compatibility with Moose
 
-The sugary API is highly compatible with Moose.
+=head3 Sugary APIs
 
-=head2 Incompatibility with Moose
+The sugary APIs are highly compatible with Moose. Methods which have the
+same name as Moose's are expected to be compatible with Moose's.
 
 =head3 Meta object protocols
 
-Any MOP in Mouse has no attributes by default.
+Meta object protocols are a subset of the counterpart of Moose.
+Their methods which have the same name as Moose's are expected to be
+compatible with Moose's. Feel free to use these methods even if they
+are not documented.
 
-For this reason, C<< $metaclass->meta->make_immutable() >> does not yet work as you expect.
+However, there are differences between Moose's MOP and Mouse's.
+For example, meta object protocols in Mouse have no attributes by default,
+so C<< $metaclass->meta->make_immutable() >> will not work as you expect.
 B<Don not make metaclasses immutable>.
 
 =head3 Mouse::Meta::Instance
 
-Meta instance mechanism is not implemented.
+Meta instance mechanism is not implemented, so you cannot change the reftype
+of Mouse objects in the same way as Moose.
 
 =head3 Role exclusion