Merge branch 'master' of github.com:gfx/p5-Mouse-temporary
Fuji, Goro [Sat, 12 Nov 2011 09:37:42 +0000 (18:37 +0900)]
29 files changed:
.gitignore
Changes
MANIFEST.SKIP
lib/Mouse.pm
lib/Mouse/Exporter.pm
lib/Mouse/Meta/Attribute.pm
lib/Mouse/Meta/Class.pm
lib/Mouse/Meta/Method.pm
lib/Mouse/Meta/Method/Accessor.pm
lib/Mouse/Meta/Method/Constructor.pm
lib/Mouse/Meta/Method/Delegation.pm
lib/Mouse/Meta/Method/Destructor.pm
lib/Mouse/Meta/Module.pm
lib/Mouse/Meta/Role.pm
lib/Mouse/Meta/Role/Application.pm
lib/Mouse/Meta/Role/Composite.pm
lib/Mouse/Meta/Role/Method.pm
lib/Mouse/Meta/TypeConstraint.pm
lib/Mouse/Object.pm
lib/Mouse/PurePerl.pm
lib/Mouse/Role.pm
lib/Mouse/Spec.pm
lib/Mouse/Tiny.pod
lib/Mouse/Util.pm
lib/Mouse/Util/TypeConstraints.pm
lib/Mouse/XS.pod
mouse.h
t/000-load.t
t/001_mouse/043-parameterized-type.t

index 4f09f7b..06c92f4 100644 (file)
@@ -1,5 +1,6 @@
 META.yml
 MYMETA.yml
+MYMETA.json
 Makefile
 blib/*
 inc/*
diff --git a/Changes b/Changes
index 39a75a2..461e267 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,15 @@
 Revision history for Mouse
 
+0.95 2011-10-07 13:41:31
+    [TEST FIXES]
+    - Workaround for RT #71211 (maybe)
+
+0.94 2011-10-03 17:07:57
+    [BUG FIXES]
+    * Resolve #68351, tests produced deprecation warnings in 5.14
+    * Resolve #70518, a build problem in 5.15
+    * Resolve #70569, prototype mismatch warnings might happen in 5.8
+
 0.93 2011-05-17 00:22:12
     [BUG FIXES]
     * Make sure weak attributes remain weak when cloning (Moose 2.0007)
index 36b2576..7b7be20 100644 (file)
@@ -58,7 +58,7 @@ ppport\.h$
 \.c$
 \.bs$
 
-MYMETA\.yml$
+MYMETA\.(?:yml|json)$
 Moose-t/
 xshelper\.h$
 \.swp$
index f6cb48d..fdd51cf 100644 (file)
@@ -3,7 +3,7 @@ use 5.006_002;
 
 use Mouse::Exporter; # enables strict and warnings
 
-our $VERSION = '0.93';
+our $VERSION = '0.95';
 
 use Carp         ();
 use Scalar::Util ();
@@ -155,7 +155,7 @@ Mouse - Moose minus the antlers
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SYNOPSIS
 
index dadf6f3..9d538ba 100644 (file)
@@ -267,7 +267,7 @@ Mouse::Exporter - make an import() and unimport() just like Mouse.pm
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SYNOPSIS
 
index a734f4c..54fc2b5 100644 (file)
@@ -349,7 +349,7 @@ Mouse::Meta::Attribute - The Mouse attribute metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 DESCRIPTION
 
index 8cd9fcf..ee459c3 100644 (file)
@@ -470,7 +470,7 @@ Mouse::Meta::Class - The Mouse class metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 DESCRIPTION
 
index 7f5247e..d455e76 100644 (file)
@@ -54,7 +54,7 @@ Mouse::Meta::Method - A Mouse Method metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 DESCRIPTION
 
index f6bd06d..8aef575 100644 (file)
@@ -187,7 +187,7 @@ Mouse::Meta::Method::Accessor - A Mouse method generator for accessors
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SEE ALSO
 
index 430679d..cbfbbb2 100644 (file)
@@ -233,7 +233,7 @@ Mouse::Meta::Method::Constructor - A Mouse method generator for constructors
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SEE ALSO
 
index 03512cb..4aa98af 100644 (file)
@@ -61,7 +61,7 @@ Mouse::Meta::Method::Delegation - A Mouse method generator for delegation method
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SEE ALSO
 
index 4647de6..3611392 100644 (file)
@@ -65,7 +65,7 @@ Mouse::Meta::Method::Destructor - A Mouse method generator for destructors
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SEE ALSO
 
index c3615c4..dd46313 100644 (file)
@@ -311,7 +311,7 @@ Mouse::Meta::Module - The common base class of Mouse::Meta::Class and Mouse::Met
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 DESCRIPTION
 
index 12801ae..06fa7d6 100644 (file)
@@ -131,7 +131,7 @@ Mouse::Meta::Role - The Mouse Role metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 DESCRIPTION
 
index d631c6d..44c421f 100644 (file)
@@ -209,7 +209,7 @@ Mouse::Meta::Role::Application - The Mouse role application class
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SEE ALSO
 
index 6d0c967..654930f 100644 (file)
@@ -156,7 +156,7 @@ Mouse::Meta::Role::Composite - An object to represent the set of roles
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SEE ALSO
 
index f6632e7..b8565a1 100644 (file)
@@ -23,7 +23,7 @@ Mouse::Meta::Role::Method - A Mouse Method metaclass for Roles
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SEE ALSO
 
index 9a41b6c..4dc4650 100644 (file)
@@ -276,7 +276,7 @@ Mouse::Meta::TypeConstraint - The Mouse Type Constraint metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 DESCRIPTION
 
index 12a90f0..3f420fd 100644 (file)
@@ -16,7 +16,7 @@ Mouse::Object - The base object for Mouse classes
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 METHODS
 
index f2848d9..88c5b5b 100644 (file)
@@ -749,7 +749,7 @@ Mouse::PurePerl - A Mouse guts in pure Perl
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SEE ALSO
 
index 15d2431..eb2ec97 100644 (file)
@@ -1,7 +1,7 @@
 package Mouse::Role;
 use Mouse::Exporter; # enables strict and warnings
 
-our $VERSION = '0.93';
+our $VERSION = '0.95';
 
 use Carp         ();
 use Scalar::Util ();
@@ -137,7 +137,7 @@ Mouse::Role - The Mouse Role
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SYNOPSIS
 
index f4ebf32..09c2b53 100644 (file)
@@ -2,7 +2,7 @@ package Mouse::Spec;
 use strict;
 use warnings;
 
-our $VERSION = '0.93';
+our $VERSION = '0.95';
 
 our $MouseVersion = $VERSION;
 our $MooseVersion = '1.13';
@@ -19,7 +19,7 @@ Mouse::Spec - To what extent Mouse is compatible with Moose
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SYNOPSIS
 
index 2fbff2d..2a22fd0 100644 (file)
@@ -5,7 +5,7 @@ Mouse::Tiny - Mouse in a single file
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 DESCRIPTION
 
index fc2292a..48cc6c6 100644 (file)
@@ -50,7 +50,7 @@ BEGIN{
         },
     );
 
-    our $VERSION = '0.93';
+    our $VERSION = '0.95';
 
     my $xs = !(defined(&is_valid_class_name) || $ENV{MOUSE_PUREPERL} || $ENV{PERL_ONLY});
 
@@ -80,7 +80,8 @@ BEGIN{
 
     # definition of mro::get_linear_isa()
     my $get_linear_isa;
-    if (eval { require mro }) {
+    if ($] >= 5.010_000) {
+        require mro;
         $get_linear_isa = \&mro::get_linear_isa;
     }
     else {
@@ -388,7 +389,7 @@ Mouse::Util - Utilities for working with Mouse classes
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 SYNOPSIS
 
index ceae64c..9bab036 100644 (file)
@@ -432,7 +432,7 @@ Mouse::Util::TypeConstraints - Type constraint system for Mouse
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head2 SYNOPSIS
 
index 9e0a6ec..96e86b0 100644 (file)
@@ -5,7 +5,7 @@ Mouse::XS - A Mouse guts in XS
 
 =head1 VERSION
 
-This document describes Mouse version 0.93
+This document describes Mouse version 0.95
 
 =head1 DESCRIPTION
 
diff --git a/mouse.h b/mouse.h
index d53c704..e8ce999 100644 (file)
--- a/mouse.h
+++ b/mouse.h
@@ -1,6 +1,8 @@
 #ifndef MOUSE_H
 #define MOUSE_H
 
+#define PERL_EUPXS_ALWAYS_EXPORT
+
 #include "xshelper.h"
 
 #ifndef mro_get_linear_isa
index 5508bce..9d7678a 100644 (file)
@@ -19,14 +19,3 @@ eval { require Moose };
 diag "    Class::MOP: $Class::MOP::VERSION";
 diag "    Moose: $Moose::VERSION";
 
-if($xs) { # display info for CPAN testers
-    if(open my $in, '<', 'Makefile') {
-        diag 'xsubpp settings:';
-        while(<$in>) {
-            if(/^XSUBPP/) {
-                diag $_;
-            }
-        }
-    }
-}
-
index e3e4cda..531febb 100644 (file)
@@ -6,6 +6,7 @@ use Test::Exception;
 
 use Tie::Hash;
 use Tie::Array;
+
 {
     {
         package My::Role;
@@ -224,7 +225,10 @@ else{ # under Moose
 
 is_deeply \%th_clone, \%th, 'the hash iterator is initialized';
 
-{
+
+for my $i(1 .. 2) {
+    diag "derived from parameterized types #$i";
+
     my $myhashref = subtype 'MyHashRef',
         as 'HashRef[Value]',
         where { keys %$_ > 1 };
@@ -241,9 +245,14 @@ is_deeply \%th_clone, \%th, 'the hash iterator is initialized';
 
     ok  $myhashref->is_a_type_of('HashRef'), "$myhashref";
     ok  $myhashref->check({ a => 43, b => 100 });
-    ok !$myhashref->check({ a => 43, b => 3.14 });
-    ok !$myhashref->check({});
+    ok  $myhashref->check({ a => 43, b => 100, c => 0 });
+    ok !$myhashref->check({}), 'empty hash';
+    ok !$myhashref->check({ foo => 42 });
+    ok !$myhashref->check({ a => 43, b => "foo" });
     ok !$myhashref->check({ a => 42, b => [] });
+    ok !$myhashref->check({ a => 42, b => undef });
+    ok !$myhashref->check([42]);
+    ok !$myhashref->check("foo");
 
     is $myhashref->type_parameter, 'Int';
 }