Hello community, here is the log from the commit of package perl-Mouse for openSUSE:Factory checked in at 2013-11-26 19:29:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Mouse (Old) and /work/SRC/openSUSE:Factory/.perl-Mouse.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mouse" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Mouse/perl-Mouse.changes 2013-10-06 14:55:13.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Mouse.new/perl-Mouse.changes 2013-11-26 19:29:36.000000000 +0100 @@ -1,0 +2,12 @@ +Mon Nov 25 07:36:49 UTC 2013 - [email protected] + +- updated to 2.0.0 + [BUG FIXES] + - Merged the pull-request #13, which fixed an issue where + the behavior of role method confliction was different + from Moose. This change might affect your existing code + so the major version has incremented. + See t/030_roles/role_conflict_and_inheritance.t for details. + - Fix for perl 5.19.4 (RT 88295) + +------------------------------------------------------------------- Old: ---- Mouse-1.12.tar.gz New: ---- Mouse-2.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Mouse.spec ++++++ --- /var/tmp/diff_new_pack.NX9hnk/_old 2013-11-26 19:29:36.000000000 +0100 +++ /var/tmp/diff_new_pack.NX9hnk/_new 2013-11-26 19:29:36.000000000 +0100 @@ -17,7 +17,7 @@ Name: perl-Mouse -Version: 1.12 +Version: 2.0.0 Release: 0 %define cpan_name Mouse Summary: Moose minus the antlers @@ -31,208 +31,6 @@ BuildRequires: perl(Devel::PPPort) >= 3.19 BuildRequires: perl(ExtUtils::ParseXS) >= 2.21 BuildRequires: perl(Test::More) >= 0.88 -#BuildRequires: perl(A) -#BuildRequires: perl(Abstract) -#BuildRequires: perl(Animal) -#BuildRequires: perl(AutoloadedBase) -#BuildRequires: perl(BankAccount) -#BuildRequires: perl(Bar) -#BuildRequires: perl(BarClass) -#BuildRequires: perl(Bar::Role) -#BuildRequires: perl(BarRole) -#BuildRequires: perl(Base) -#BuildRequires: perl(BaseClass) -#BuildRequires: perl(Baz) -#BuildRequires: perl(Baz::Role) -#BuildRequires: perl(Bling) -#BuildRequires: perl(C1) -#BuildRequires: perl(CA) -#BuildRequires: perl(Cat) -#BuildRequires: perl(CB) -#BuildRequires: perl(Child) -#BuildRequires: perl(ChildA) -#BuildRequires: perl(ChildASuper) -#BuildRequires: perl(ChildRole) -#BuildRequires: perl(Class) -#BuildRequires: perl(ClassA) -#BuildRequires: perl(Class::Accessor::Fast) -#BuildRequires: perl(Class::C3) -#BuildRequires: perl(Class::Method::Modifiers) -#BuildRequires: perl(Class::MOP) -#BuildRequires: perl(Class::Parent) -#BuildRequires: perl(Comparable) -#BuildRequires: perl(ConcreteA) -#BuildRequires: perl(ConcreteB) -#BuildRequires: perl(ConcreteC) -#BuildRequires: perl(Constraint) -#BuildRequires: perl(Constraint::AtLeast) -#BuildRequires: perl(Constraint::NoMoreThan) -#BuildRequires: perl(Constraint::OnLength) -#BuildRequires: perl(D) -#BuildRequires: perl(Data::Dump::Streamer) -#BuildRequires: perl(Declare::Constraints::Simple) -#BuildRequires: perl(Document::Page) -#BuildRequires: perl(Document::PageWithHeadersAndFooters) -#BuildRequires: perl(DoesNegated) -#BuildRequires: perl(DoesTranspose) -#BuildRequires: perl(Dog) -#BuildRequires: perl(E) -#BuildRequires: perl(Eq) -#BuildRequires: perl(Err::Role) -#BuildRequires: perl(FakeBar) -#BuildRequires: perl(Foo) -#BuildRequires: perl(Foo::Base) -#BuildRequires: perl(Foo::Class) -#BuildRequires: perl(FooClass) -#BuildRequires: perl(Foo::Role) -#BuildRequires: perl(FooRole) -#BuildRequires: perl(Foo::Sub) -#BuildRequires: perl(Gorch) -#BuildRequires: perl(Horse) -#BuildRequires: perl(HTTP::Headers) -#BuildRequires: perl(inc::Module::Install) -#BuildRequires: perl(IO::String) -#BuildRequires: perl(JSON) -#BuildRequires: perl(Left) -#BuildRequires: perl(List) -#BuildRequires: perl(List::Immutable) -#BuildRequires: perl(Locale::US) -#BuildRequires: perl(MiddleL) -#BuildRequires: perl(MiddleR) -#BuildRequires: perl(Module::Build) -#BuildRequires: perl(Module::Install::Base) -#BuildRequires: perl(Moose) -#BuildRequires: perl(MooseCompat) -#BuildRequires: perl(Moose::Role) -#BuildRequires: perl(Moose::Util::TypeConstraints) -#BuildRequires: perl(MooseX::StrictConstructor) -#BuildRequires: perl(Mouse) -#BuildRequires: perl(Mouse::Deprecated) -#BuildRequires: perl(Mouse::Exporter) -#BuildRequires: perl(Mouse::Meta::Attribute) -#BuildRequires: perl(Mouse::Meta::Class) -#BuildRequires: perl(Mouse::Meta::Method) -#BuildRequires: perl(Mouse::Meta::Method::Accessor) -#BuildRequires: perl(Mouse::Meta::Method::Constructor) -#BuildRequires: perl(Mouse::Meta::Method::Destructor) -#BuildRequires: perl(Mouse::Meta::Module) -#BuildRequires: perl(Mouse::Meta::Role) -#BuildRequires: perl(Mouse::Meta::Role::Application) -#BuildRequires: perl(Mouse::Meta::Role::Composite) -#BuildRequires: perl(Mouse::Meta::Role::Method) -#BuildRequires: perl(Mouse::Meta::TypeConstraint) -#BuildRequires: perl(Mouse::Object) -#BuildRequires: perl(Mouse::PurePerl) -#BuildRequires: perl(Mouse::Role) -#BuildRequires: perl(MouseRole) -#BuildRequires: perl(MouseRoleWithoutNoMouseRole) -#BuildRequires: perl(Mouse::Spec) -#BuildRequires: perl(Mouse::Tiny) -#BuildRequires: perl(Mouse::Util) -#BuildRequires: perl(Mouse::Util::MetaRole) -#BuildRequires: perl(Mouse::Util::TypeConstraints) -#BuildRequires: perl(MouseX::AttributeHelpers::Trait::Base) -#BuildRequires: perl(MouseX::AttributeHelpers::Trait::Number) -#BuildRequires: perl(MouseX::Attribute::Test) -#BuildRequires: perl(MouseX::StrictConstructor) -#BuildRequires: perl(mro) -#BuildRequires: perl(MRO::Compat) -#BuildRequires: perl(My::Class) -#BuildRequires: perl(MyClass) -#BuildRequires: perl(MyExporter) -#BuildRequires: perl(My::Fancy::Role) -#BuildRequires: perl(MyMouse) -#BuildRequires: perl(MyMouseEx) -#BuildRequires: perl(MyMouseX::Bar) -#BuildRequires: perl(MyMouseX::Foo) -#BuildRequires: perl(My::Role) -#BuildRequires: perl(MyRole) -#BuildRequires: perl(My::Role::Again) -#BuildRequires: perl(My::Test::Base) -#BuildRequires: perl(My::Test::Class2::Base) -#BuildRequires: perl(My::Test::Class3::Base) -#BuildRequires: perl(No::Class) -#BuildRequires: perl(Other::Role) -#BuildRequires: perl(Params::Coerce) -#BuildRequires: perl(parent) -#BuildRequires: perl(Parent) -#BuildRequires: perl(ParentClass) -#BuildRequires: perl(ParentRole) -#BuildRequires: perl(ParentX) -#BuildRequires: perl(Parse::CPAN::Meta) -#BuildRequires: perl(Path::Class) -#BuildRequires: perl(Perl::Critic) >= 1.105 -#BuildRequires: perl(Person) -#BuildRequires: perl(Point) -#BuildRequires: perl(Printable) -#BuildRequires: perl(Quux::Role) -#BuildRequires: perl(Quxx) -#BuildRequires: perl(R1) -#BuildRequires: perl(Racer) -#BuildRequires: perl(Regexp::Common) -#BuildRequires: perl(Request::Headers::Role) -#BuildRequires: perl(Response) -#BuildRequires: perl(Response::Headers::Role) -#BuildRequires: perl(Restartable) -#BuildRequires: perl(Right) -#BuildRequires: perl(Role) -#BuildRequires: perl(Role1) -#BuildRequires: perl(Role2) -#BuildRequires: perl(RoleA) -#BuildRequires: perl(RoleB) -#BuildRequires: perl(Role::Bar) -#BuildRequires: perl(Role::Base) -#BuildRequires: perl(Role::Base2) -#BuildRequires: perl(Role::Base3) -#BuildRequires: perl(Role::Base4) -#BuildRequires: perl(Role::Bling) -#BuildRequires: perl(Role::Bling::Bling) -#BuildRequires: perl(Role::Boo) -#BuildRequires: perl(Role::Boo::Hoo) -#BuildRequires: perl(Role::Derived1) -#BuildRequires: perl(Role::Derived2) -#BuildRequires: perl(Role::Derived3) -#BuildRequires: perl(Role::Derived4) -#BuildRequires: perl(Role::Derived5) -#BuildRequires: perl(Role::Derived6) -#BuildRequires: perl(Role::Derived7) -#BuildRequires: perl(Role::Derived8) -#BuildRequires: perl(Role::Foo) -#BuildRequires: perl(Role::Parent) -#BuildRequires: perl(Role::Plot) -#BuildRequires: perl(Role::Truth) -#BuildRequires: perl(RootA) -#BuildRequires: perl(RootB) -#BuildRequires: perl(RootC) -#BuildRequires: perl(Sausage) -#BuildRequires: perl(SausageRole) -#BuildRequires: perl(SomeClass) -#BuildRequires: perl(SomeRole) -#BuildRequires: perl(Squirrel) -#BuildRequires: perl(Squirrel::Role) -#BuildRequires: perl(SubAA) -#BuildRequires: perl(SubBA) -#BuildRequires: perl(SubClass) -#BuildRequires: perl(SuperL) -#BuildRequires: perl(SuperR) -#BuildRequires: perl(Test::Arrayref::RoleAttributes::Role) -#BuildRequires: perl(Test::Deep) -#BuildRequires: perl(Test::DependentModules) -#BuildRequires: perl(Test::Exception) -#BuildRequires: perl(Test::Exception::LessClever) -#BuildRequires: perl(Test::Fatal) -#BuildRequires: perl(Test::Mouse) -#BuildRequires: perl(Test::Perl::Critic) -#BuildRequires: perl(Test::Requires) -#BuildRequires: perl(TestRole) -#BuildRequires: perl(Test::Spellunker) >= v0.2.1 -#BuildRequires: perl(t::lib::ClassType_Foo) -#BuildRequires: perl(t::lib::MooseCompat) -#BuildRequires: perl(TouchyBase) -#BuildRequires: perl(Try::Tiny) >= 0.07 -#BuildRequires: perl(Unsweetened) -#BuildRequires: perl(URI) -#BuildRequires: perl(YAML::Tiny) %{perl_requires} %description ++++++ Mouse-1.12.tar.gz -> Mouse-2.0.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/Changes new/Mouse-2.0.0/Changes --- old/Mouse-1.12/Changes 2013-09-29 02:53:51.000000000 +0200 +++ new/Mouse-2.0.0/Changes 2013-11-06 01:20:35.000000000 +0100 @@ -1,5 +1,17 @@ Revision history for Mouse +2.0.0 2013-11-06 09:15:00+0900 + [BUG FIXES] + - Merged the pull-request #13, which fixed an issue where + the behavior of role method confliction was different + from Moose. This change might affect your existing code + so the major version has incremented. + See t/030_roles/role_conflict_and_inheritance.t for details. + +1.13 2013-10-10 00:09:35+0900 + [BUG FIXES] + - Fix for perl 5.19.4 (RT 88295) + 1.12 2013-09-29 09:52:47+0900 [BUG FIXES] - Fix a memory leak related to triggers, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/MANIFEST new/Mouse-2.0.0/MANIFEST --- old/Mouse-1.12/MANIFEST 2013-09-29 02:54:41.000000000 +0200 +++ new/Mouse-2.0.0/MANIFEST 2013-11-06 01:20:42.000000000 +0100 @@ -248,6 +248,7 @@ t/030_roles/037_create_role_subclass.t t/030_roles/041_empty_method_modifiers_meta_bug.t t/030_roles/042_compose_overloading.t +t/030_roles/role_conflict_and_inheritance.t t/040_type_constraints/002_util_type_constraints_export.t t/040_type_constraints/003_util_std_type_constraints.t t/040_type_constraints/004_util_find_type_constraint.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/META.yml new/Mouse-2.0.0/META.yml --- old/Mouse-1.12/META.yml 2013-09-29 02:54:45.000000000 +0200 +++ new/Mouse-2.0.0/META.yml 2013-11-06 01:20:48.000000000 +0100 @@ -30,6 +30,7 @@ XSLoader: 0.02 perl: 5.6.2 resources: + bugtracker: https://github.com/gfx/p5-Mouse/issues license: http://dev.perl.org/licenses/ - repository: git://github.com/gfx/p5-Mouse.git -version: 1.12 + repository: https://github.com/gfx/p5-Mouse +version: 2.0.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/Makefile.PL new/Mouse-2.0.0/Makefile.PL --- old/Mouse-1.12/Makefile.PL 2013-04-26 03:49:15.000000000 +0200 +++ new/Mouse-2.0.0/Makefile.PL 2013-10-09 17:12:14.000000000 +0200 @@ -89,10 +89,10 @@ cc_warnings(); cc_src_paths('xs-src'); if($use_xs){ - test_target test_pp => ( - env => { PERL_ONLY => 1 }, - ($Module::Install::AUTHOR ? (alias => 'test') : ()), - ); + test_target test_pp => ( + env => { PERL_ONLY => 1 }, + ($Module::Install::AUTHOR ? (alias => 'test') : ()), + ); } } else{ @@ -102,7 +102,10 @@ tests 't/*.t t/*/*.t'; author_tests 'xt'; -auto_set_repository; +resources + bugtracker => 'https://github.com/gfx/p5-Mouse/issues', + repository => 'https://github.com/gfx/p5-Mouse', +; system($^X, 'tool/generate-mouse-tiny.pl', 'lib/Mouse/Tiny.pm') == 0 or warn "Cannot generate Mouse::Tiny: $!"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/inc/Module/Install/TestTarget.pm new/Mouse-2.0.0/inc/Module/Install/TestTarget.pm --- old/Mouse-1.12/inc/Module/Install/TestTarget.pm 2013-09-29 02:54:45.000000000 +0200 +++ new/Mouse-2.0.0/inc/Module/Install/TestTarget.pm 2013-11-06 01:20:47.000000000 +0100 @@ -3,7 +3,7 @@ use 5.006_002; use strict; #use warnings; # XXX: warnings.pm produces a lot of 'redefine' warnings! -our $VERSION = '0.15'; +our $VERSION = '0.19'; use base qw(Module::Install::Base); use Config; @@ -108,7 +108,7 @@ $code =~ s/\n/ /g; if ($^O eq 'MSWin32') { $code =~ s/\\\$\$/\$\$/g; - if ($Config{make} eq 'dmake') { + if ($Config{make} =~ /dmake/i) { $code =~ s/{/{{/g; $code =~ s/}/}}/g; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/inc/Test/Fatal.pm new/Mouse-2.0.0/inc/Test/Fatal.pm --- old/Mouse-1.12/inc/Test/Fatal.pm 2013-09-29 02:54:45.000000000 +0200 +++ new/Mouse-2.0.0/inc/Test/Fatal.pm 2013-11-06 01:20:47.000000000 +0100 @@ -3,7 +3,7 @@ use warnings; package Test::Fatal; { - $Test::Fatal::VERSION = '0.010'; + $Test::Fatal::VERSION = '0.013'; } # ABSTRACT: incredibly simple helpers for testing code with exceptions @@ -17,10 +17,32 @@ our @EXPORT_OK = qw(exception success dies_ok lives_ok); +our ($REAL_TBL, $REAL_CALCULATED_TBL) = (1, 1); + sub exception (&) { my $code = shift; return try { + my $incremented = $Test::Builder::Level - $REAL_CALCULATED_TBL; + local $Test::Builder::Level = $REAL_CALCULATED_TBL; + if ($incremented) { + # each call to exception adds 5 stack frames + $Test::Builder::Level += 5; + for my $i (1..$incremented) { + # -2 because we want to see it from the perspective of the call to + # is() within the call to $code->() + my $caller = caller($Test::Builder::Level - 2); + if ($caller eq __PACKAGE__) { + # each call to exception adds 5 stack frames + $Test::Builder::Level = $Test::Builder::Level + 5; + } + else { + $Test::Builder::Level = $Test::Builder::Level + 1; + } + } + } + + local $REAL_CALCULATED_TBL = $Test::Builder::Level; $code->(); return undef; } catch { @@ -71,5 +93,5 @@ 1; __END__ -#line 212 +#line 240 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Exporter.pm new/Mouse-2.0.0/lib/Mouse/Exporter.pm --- old/Mouse-1.12/lib/Mouse/Exporter.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Exporter.pm 2013-11-06 01:20:46.000000000 +0100 @@ -269,7 +269,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Attribute.pm new/Mouse-2.0.0/lib/Mouse/Meta/Attribute.pm --- old/Mouse-1.12/lib/Mouse/Meta/Attribute.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Attribute.pm 2013-11-06 01:20:46.000000000 +0100 @@ -349,7 +349,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Class.pm new/Mouse-2.0.0/lib/Mouse/Meta/Class.pm --- old/Mouse-1.12/lib/Mouse/Meta/Class.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Class.pm 2013-11-06 01:20:46.000000000 +0100 @@ -470,7 +470,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Method/Accessor.pm new/Mouse-2.0.0/lib/Mouse/Meta/Method/Accessor.pm --- old/Mouse-1.12/lib/Mouse/Meta/Method/Accessor.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Method/Accessor.pm 2013-11-06 01:20:46.000000000 +0100 @@ -188,7 +188,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Method/Constructor.pm new/Mouse-2.0.0/lib/Mouse/Meta/Method/Constructor.pm --- old/Mouse-1.12/lib/Mouse/Meta/Method/Constructor.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Method/Constructor.pm 2013-11-06 01:20:46.000000000 +0100 @@ -233,7 +233,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Method/Delegation.pm new/Mouse-2.0.0/lib/Mouse/Meta/Method/Delegation.pm --- old/Mouse-1.12/lib/Mouse/Meta/Method/Delegation.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Method/Delegation.pm 2013-11-06 01:20:46.000000000 +0100 @@ -61,7 +61,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Method/Destructor.pm new/Mouse-2.0.0/lib/Mouse/Meta/Method/Destructor.pm --- old/Mouse-1.12/lib/Mouse/Meta/Method/Destructor.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Method/Destructor.pm 2013-11-06 01:20:46.000000000 +0100 @@ -65,7 +65,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Method.pm new/Mouse-2.0.0/lib/Mouse/Meta/Method.pm --- old/Mouse-1.12/lib/Mouse/Meta/Method.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Method.pm 2013-11-06 01:20:46.000000000 +0100 @@ -54,7 +54,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Module.pm new/Mouse-2.0.0/lib/Mouse/Meta/Module.pm --- old/Mouse-1.12/lib/Mouse/Meta/Module.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Module.pm 2013-11-06 01:20:46.000000000 +0100 @@ -311,7 +311,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Role/Application.pm new/Mouse-2.0.0/lib/Mouse/Meta/Role/Application.pm --- old/Mouse-1.12/lib/Mouse/Meta/Role/Application.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Role/Application.pm 2013-11-06 01:20:46.000000000 +0100 @@ -209,7 +209,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Role/Composite.pm new/Mouse-2.0.0/lib/Mouse/Meta/Role/Composite.pm --- old/Mouse-1.12/lib/Mouse/Meta/Role/Composite.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Role/Composite.pm 2013-11-06 01:20:46.000000000 +0100 @@ -1,4 +1,5 @@ package Mouse::Meta::Role::Composite; +use Carp (); use Mouse::Util; # enables strict and warnings use Mouse::Meta::Role; use Mouse::Meta::Role::Application; @@ -6,7 +7,7 @@ # FIXME: Mouse::Meta::Role::Composite does things in different way from Moose's # Moose: creates a new class for the consumer, and applies roles to it. -# Mouse: creates a coposite role and apply roles to the role, +# Mouse: creates a composite role and apply roles to the role, # and then applies it to the consumer. sub new { @@ -25,7 +26,8 @@ sub get_method_list { my($self) = @_; - return keys %{ $self->{methods} }; + return grep { ! $self->{conflicting_methods}{$_} } + keys %{ $self->{methods} }; } sub add_method { @@ -140,6 +142,33 @@ Mouse::Util::quoted_english_list(@conflicting), $consumer_class_name); } + + my @changed_in_v2_0_0 = grep { + $consumer_class_name->can($_) && ! $consumer->has_method($_) + } keys %{ $role->{conflicting_methods} }; + if (@changed_in_v2_0_0) { + my $method_name_conflict = (@changed_in_v2_0_0 == 1 + ? 'a method name conflict' + : 'method name conflicts'); + + my %seen; + my $roles = Mouse::Util::quoted_english_list( + grep{ !$seen{$_}++ } # uniq + map { $_->name } + map { @{$_} } + @{ $role->{composed_roles_by_method} }{@changed_in_v2_0_0} + ); + + Carp::cluck(sprintf + q{Due to %s in roles %s,} + . q{ the behavior of method%s %s might be changed} + . q{ in Mouse-2.00, check it out}, + $method_name_conflict, + $roles, + (@changed_in_v2_0_0 > 1 ? 's' : ''), + Mouse::Util::quoted_english_list(@changed_in_v2_0_0), + $consumer_class_name); + } } $self->SUPER::apply_methods($role, $consumer, @extra); @@ -156,7 +185,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Role/Method.pm new/Mouse-2.0.0/lib/Mouse/Meta/Role/Method.pm --- old/Mouse-1.12/lib/Mouse/Meta/Role/Method.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Role/Method.pm 2013-11-06 01:20:46.000000000 +0100 @@ -23,7 +23,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/Role.pm new/Mouse-2.0.0/lib/Mouse/Meta/Role.pm --- old/Mouse-1.12/lib/Mouse/Meta/Role.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/Role.pm 2013-11-06 01:20:46.000000000 +0100 @@ -131,7 +131,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Meta/TypeConstraint.pm new/Mouse-2.0.0/lib/Mouse/Meta/TypeConstraint.pm --- old/Mouse-1.12/lib/Mouse/Meta/TypeConstraint.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Meta/TypeConstraint.pm 2013-11-06 01:20:46.000000000 +0100 @@ -274,7 +274,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Object.pm new/Mouse-2.0.0/lib/Mouse/Object.pm --- old/Mouse-1.12/lib/Mouse/Object.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Object.pm 2013-11-06 01:20:46.000000000 +0100 @@ -16,7 +16,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 METHODS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/PurePerl.pm new/Mouse-2.0.0/lib/Mouse/PurePerl.pm --- old/Mouse-1.12/lib/Mouse/PurePerl.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/PurePerl.pm 2013-11-06 01:20:46.000000000 +0100 @@ -485,7 +485,7 @@ $args->{init_arg} = $name; } - # 'required' requires eigher 'init_arg', 'builder', or 'default' + # 'required' requires either 'init_arg', 'builder', or 'default' my $can_be_required = defined( $args->{init_arg} ); if(exists $args->{builder}){ @@ -755,7 +755,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SEE ALSO diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Role.pm new/Mouse-2.0.0/lib/Mouse/Role.pm --- old/Mouse-1.12/lib/Mouse/Role.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Role.pm 2013-11-06 01:20:46.000000000 +0100 @@ -1,7 +1,7 @@ package Mouse::Role; use Mouse::Exporter; # enables strict and warnings -our $VERSION = '1.12'; +our $VERSION = '2.0.0'; use Carp (); use Scalar::Util (); @@ -137,7 +137,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Spec.pm new/Mouse-2.0.0/lib/Mouse/Spec.pm --- old/Mouse-1.12/lib/Mouse/Spec.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Spec.pm 2013-11-06 01:20:46.000000000 +0100 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = '1.12'; +our $VERSION = '2.0.0'; our $MouseVersion = $VERSION; our $MooseVersion = '1.13'; @@ -19,7 +19,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Tiny.pod new/Mouse-2.0.0/lib/Mouse/Tiny.pod --- old/Mouse-1.12/lib/Mouse/Tiny.pod 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Tiny.pod 2013-11-06 01:20:46.000000000 +0100 @@ -5,7 +5,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Util/TypeConstraints.pm new/Mouse-2.0.0/lib/Mouse/Util/TypeConstraints.pm --- old/Mouse-1.12/lib/Mouse/Util/TypeConstraints.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Util/TypeConstraints.pm 2013-11-06 01:20:46.000000000 +0100 @@ -437,7 +437,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head2 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/Util.pm new/Mouse-2.0.0/lib/Mouse/Util.pm --- old/Mouse-1.12/lib/Mouse/Util.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/Util.pm 2013-11-06 01:20:46.000000000 +0100 @@ -3,7 +3,7 @@ # Note that those which don't exist here are defined in XS or Mouse::PurePerl -# must be here because it will be refered by other modules loaded +# must be here because it will be referred by other modules loaded sub get_linear_isa($;$); ## no critic # must be here because it will called in Mouse::Exporter @@ -50,7 +50,7 @@ }, ); - our $VERSION = '1.12'; + our $VERSION = '2.0.0'; my $xs = !(defined(&is_valid_class_name) || $ENV{MOUSE_PUREPERL} || $ENV{PERL_ONLY}); @@ -411,7 +411,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse/XS.pod new/Mouse-2.0.0/lib/Mouse/XS.pod --- old/Mouse-1.12/lib/Mouse/XS.pod 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse/XS.pod 2013-11-06 01:20:46.000000000 +0100 @@ -5,7 +5,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/lib/Mouse.pm new/Mouse-2.0.0/lib/Mouse.pm --- old/Mouse-1.12/lib/Mouse.pm 2013-09-29 02:54:44.000000000 +0200 +++ new/Mouse-2.0.0/lib/Mouse.pm 2013-11-06 01:20:46.000000000 +0100 @@ -3,7 +3,7 @@ use Mouse::Exporter; # enables strict and warnings -our $VERSION = '1.12'; +our $VERSION = '2.0.0'; use Carp (); use Scalar::Util (); @@ -155,7 +155,7 @@ =head1 VERSION -This document describes Mouse version 1.12 +This document describes Mouse version 2.0.0 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/mouse.h new/Mouse-2.0.0/mouse.h --- old/Mouse-1.12/mouse.h 2012-08-27 03:23:13.000000000 +0200 +++ new/Mouse-2.0.0/mouse.h 2013-10-09 17:06:02.000000000 +0200 @@ -90,10 +90,11 @@ /* MOUSE_av_at(av, ix) is the safer version of AvARRAY(av)[ix] if perl is compiled with -DDEBUGGING */ #ifdef DEBUGGING -#define MOUSE_av_at(av, ix) *mouse_av_at_safe(aTHX_ (av) , (ix)) -SV** mouse_av_at_safe(pTHX_ AV* const mi, I32 const ix); +#define MOUSE_av_at(av, ix) mouse_av_at_safe(aTHX_ (av) , (ix)) +SV* mouse_av_at_safe(pTHX_ AV* const mi, I32 const ix); #else -#define MOUSE_av_at(av, ix) AvARRAY(av)[ix] +#define MOUSE_av_at(av, ix) \ + (AvARRAY(av)[ix] ? AvARRAY(av)[ix] : &PL_sv_undef) #endif #define MOUSE_mg_obj(mg) ((mg)->mg_obj) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/t/030_roles/role_conflict_and_inheritance.t new/Mouse-2.0.0/t/030_roles/role_conflict_and_inheritance.t --- old/Mouse-1.12/t/030_roles/role_conflict_and_inheritance.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Mouse-2.0.0/t/030_roles/role_conflict_and_inheritance.t 2013-11-06 01:13:30.000000000 +0100 @@ -0,0 +1,26 @@ +use strict; +use warnings; +use Test::More; + +{ + package Role::Foo1; + use Mouse::Role; + sub foo { 'foo1' } + + package Role::Foo2; + use Mouse::Role; + sub foo { 'foo2' } + + package BarSuper; + use Mouse; + sub foo { 'foo3' } + + package BarSub; + use Mouse; + extends 'BarSuper'; + with 'Role::Foo1', 'Role::Foo2'; +} + +is(BarSub->new->foo, "foo3"); + +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mouse-1.12/xs-src/MouseUtil.xs new/Mouse-2.0.0/xs-src/MouseUtil.xs --- old/Mouse-1.12/xs-src/MouseUtil.xs 2013-04-25 06:49:45.000000000 +0200 +++ new/Mouse-2.0.0/xs-src/MouseUtil.xs 2013-10-09 17:06:02.000000000 +0200 @@ -76,12 +76,12 @@ #endif /* !no_mor_get_linear_isa */ #ifdef DEBUGGING -SV** +SV* mouse_av_at_safe(pTHX_ AV* const av, I32 const ix){ assert(av); assert(SvTYPE(av) == SVt_PVAV); assert(AvMAX(av) >= ix); - return &AvARRAY(av)[ix]; + return AvARRAY(av)[ix] ? AvARRAY(av)[ix] : &PL_sv_undef; } #endif -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
