r60442 - in /trunk/libmouse-perl: ./ debian/ inc/Module/Install/ lib/ lib/Mouse/ lib/Mouse/Meta/ lib/Mouse/Meta/Method/ lib/Mouse/Meta/Role/ lib/Mouse/Util/ t/040_type_constraints/
ansgar-guest at users.alioth.debian.org
ansgar-guest at users.alioth.debian.org
Wed Jul 21 05:11:15 UTC 2010
Author: ansgar-guest
Date: Wed Jul 21 05:10:53 2010
New Revision: 60442
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=60442
Log:
* New upstream release.
* Remove build-dep on libtest-requires-perl.
Modified:
trunk/libmouse-perl/Changes
trunk/libmouse-perl/META.yml
trunk/libmouse-perl/Makefile.PL
trunk/libmouse-perl/debian/changelog
trunk/libmouse-perl/debian/control
trunk/libmouse-perl/inc/Module/Install/XSUtil.pm
trunk/libmouse-perl/lib/Mouse.pm
trunk/libmouse-perl/lib/Mouse/Exporter.pm
trunk/libmouse-perl/lib/Mouse/Meta/Attribute.pm
trunk/libmouse-perl/lib/Mouse/Meta/Class.pm
trunk/libmouse-perl/lib/Mouse/Meta/Method.pm
trunk/libmouse-perl/lib/Mouse/Meta/Method/Accessor.pm
trunk/libmouse-perl/lib/Mouse/Meta/Method/Constructor.pm
trunk/libmouse-perl/lib/Mouse/Meta/Method/Delegation.pm
trunk/libmouse-perl/lib/Mouse/Meta/Method/Destructor.pm
trunk/libmouse-perl/lib/Mouse/Meta/Module.pm
trunk/libmouse-perl/lib/Mouse/Meta/Role.pm
trunk/libmouse-perl/lib/Mouse/Meta/Role/Composite.pm
trunk/libmouse-perl/lib/Mouse/Meta/Role/Method.pm
trunk/libmouse-perl/lib/Mouse/Meta/TypeConstraint.pm
trunk/libmouse-perl/lib/Mouse/Object.pm
trunk/libmouse-perl/lib/Mouse/PurePerl.pm
trunk/libmouse-perl/lib/Mouse/Role.pm
trunk/libmouse-perl/lib/Mouse/Spec.pm
trunk/libmouse-perl/lib/Mouse/Tiny.pod
trunk/libmouse-perl/lib/Mouse/Util.pm
trunk/libmouse-perl/lib/Mouse/Util/TypeConstraints.pm
trunk/libmouse-perl/lib/Mouse/XS.pod
trunk/libmouse-perl/t/040_type_constraints/010_misc_type_tests.t
Modified: trunk/libmouse-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/Changes?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/Changes (original)
+++ trunk/libmouse-perl/Changes Wed Jul 21 05:10:53 2010
@@ -1,4 +1,15 @@
Revision history for Mouse
+
+0.63 Tue Jul 20 19:26:30 2010
+ [CHANGES]
+ * Resolve RT#59460: Test::Requires is not a required prerequisite unless
+ release-testing... (Curtis Jewell)
+ See also https://rt.cpan.org/Public/Bug/Display.html?id=59460
+
+ [FEATURES]
+ * Add Mouse::Util::TypeConstraints::register_type_constraint()
+ (Vincent Pit)
+ See also https://rt.cpan.org/Public/Bug/Display.html?id=59539
0.62 Tue Jul 6 20:18:58 2010
[FEATURES]
Modified: trunk/libmouse-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/META.yml?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/META.yml (original)
+++ trunk/libmouse-perl/META.yml Wed Jul 21 05:10:53 2010
@@ -8,7 +8,6 @@
ExtUtils::ParseXS: 2.21
Test::Exception: 0.29
Test::More: 0.88
- Test::Requires: 0.03
configure_requires:
Devel::PPPort: 3.19
ExtUtils::MakeMaker: 6.42
@@ -32,4 +31,4 @@
resources:
license: http://dev.perl.org/licenses/
repository: git://git.moose.perl.org/Mouse.git
-version: 0.62
+version: 0.63
Modified: trunk/libmouse-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/Makefile.PL?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/Makefile.PL (original)
+++ trunk/libmouse-perl/Makefile.PL Wed Jul 21 05:10:53 2010
@@ -1,7 +1,7 @@
# for developpers:
BEGIN{
if(grep{ $_ eq '--author' } @ARGV){
- print "^X -S cpanm < author/requires.cpanm\n";
+ print "$^X -S cpanm < author/requires.cpanm\n";
system "$^X -S cpanm < author/requires.cpanm";
}
}
@@ -26,7 +26,9 @@
test_requires 'Test::More' => 0.88;
test_requires 'Test::Exception' => 0.29;
-test_requires 'Test::Requires' => 0.03;
+if ( $ENV{RELEASE_TESTING} || (grep { $_ eq '--author' } @ARGV) ) {
+ test_requires 'Test::Requires' => 0.03;
+}
# test_requires 'Test::Output' => 0.16; # too many dependencies!
if($] < 5.010) {
Modified: trunk/libmouse-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/debian/changelog?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/debian/changelog (original)
+++ trunk/libmouse-perl/debian/changelog Wed Jul 21 05:10:53 2010
@@ -1,3 +1,10 @@
+libmouse-perl (0.63-1) unstable; urgency=low
+
+ * New upstream release.
+ * Remove build-dep on libtest-requires-perl.
+
+ -- Ansgar Burchardt <ansgar at 43-1.org> Wed, 21 Jul 2010 14:10:19 +0900
+
libmouse-perl (0.62-1) unstable; urgency=low
* New upstream release.
Modified: trunk/libmouse-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/debian/control?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/debian/control (original)
+++ trunk/libmouse-perl/debian/control Wed Jul 21 05:10:53 2010
@@ -5,8 +5,7 @@
libextutils-parsexs-perl (>= 2.210000), libio-string-perl, liblocale-us-perl,
libmoose-perl (>= 0.93), libregexp-common-perl, libtest-deep-perl,
libtest-exception-perl (>= 0.29), libtest-leaktrace-perl, libtest-output-perl,
- liburi-perl, libparams-coerce-perl, libwww-perl, libpath-class-perl,
- libtest-requires-perl
+ liburi-perl, libparams-coerce-perl, libwww-perl, libpath-class-perl
Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
Uploaders: Gunnar Wolf <gwolf at debian.org>, gregor herrmann <gregoa at debian.org>,
Jose Luis Rivas <ghostbar at debian.org>, Brian Cassidy <brian.cassidy at gmail.com>,
Modified: trunk/libmouse-perl/inc/Module/Install/XSUtil.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/inc/Module/Install/XSUtil.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/inc/Module/Install/XSUtil.pm (original)
+++ trunk/libmouse-perl/inc/Module/Install/XSUtil.pm Wed Jul 21 05:10:53 2010
@@ -3,7 +3,7 @@
use 5.005_03;
-$VERSION = '0.24';
+$VERSION = '0.25';
use Module::Install::Base;
@ISA = qw(Module::Install::Base);
@@ -46,8 +46,8 @@
$self->{xsu_initialized} = 1;
if(!$self->cc_available()){
- print "This package requires a C compiler, but it's not available.\n";
- exit(0);
+ warn "This distribution requires a C compiler, but it's not available, stopped.\n";
+ exit;
}
$self->configure_requires(%ConfigureRequires);
@@ -169,6 +169,44 @@
# TODO: support other compilers
}
+ return;
+}
+
+sub c99_available {
+ my($self) = @_;
+ $self->_xs_initialize();
+
+ require File::Temp;
+ require File::Basename;
+
+ my $tmpfile = File::Temp->new(SUFFIX => '.c');
+
+ $tmpfile->print(<<'C99');
+inline // a C99 keyword with C99 style comments
+int test_c99() {
+ int i = 0;
+ i++;
+ int j = i - 1; // another C99 feature: declaration after statement
+ return j;
+}
+C99
+
+ $tmpfile->close();
+
+ system $Config{cc}, '-c', $tmpfile->filename;
+
+ (my $objname = File::Basename::basename($tmpfile->filename)) =~ s/\Q.c\E$/$Config{_o}/;
+ unlink $objname or warn "Cannot unlink $objname (ignored): $!";
+
+ return $? == 0;
+}
+
+sub requires_c99 {
+ my($self) = @_;
+ if(!$self->c99_available) {
+ warn "This distribution requires a C99 compiler, but $Config{cc} seems not to support C99, stopped.\n";
+ exit;
+ }
return;
}
@@ -339,7 +377,7 @@
$self->cc_append_to_inc (grep{ !$uniq{ $_ }++ } @inc);
%uniq = ();
- $self->cc_append_to_libs(grep{ !$uniq{ $_->[0] }++ } @libs);
+ $self->cc_libs(grep{ !$uniq{ $_->[0] }++ } @libs);
return %added;
}
@@ -582,4 +620,4 @@
1;
__END__
-#line 774
+#line 816
Modified: trunk/libmouse-perl/lib/Mouse.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse.pm (original)
+++ trunk/libmouse-perl/lib/Mouse.pm Wed Jul 21 05:10:53 2010
@@ -3,7 +3,7 @@
use Mouse::Exporter; # enables strict and warnings
-our $VERSION = '0.62';
+our $VERSION = '0.63';
use Carp qw(confess);
use Scalar::Util qw(blessed);
@@ -160,7 +160,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SYNOPSIS
Modified: trunk/libmouse-perl/lib/Mouse/Exporter.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Exporter.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Exporter.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Exporter.pm Wed Jul 21 05:10:53 2010
@@ -272,7 +272,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SYNOPSIS
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Attribute.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Attribute.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Attribute.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Attribute.pm Wed Jul 21 05:10:53 2010
@@ -401,7 +401,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 METHODS
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Class.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Class.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Class.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Class.pm Wed Jul 21 05:10:53 2010
@@ -486,7 +486,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 METHODS
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Method.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Method.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Method.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Method.pm Wed Jul 21 05:10:53 2010
@@ -54,7 +54,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Method/Accessor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Method/Accessor.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Method/Accessor.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Method/Accessor.pm Wed Jul 21 05:10:53 2010
@@ -182,7 +182,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Method/Constructor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Method/Constructor.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Method/Constructor.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Method/Constructor.pm Wed Jul 21 05:10:53 2010
@@ -211,7 +211,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Method/Delegation.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Method/Delegation.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Method/Delegation.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Method/Delegation.pm Wed Jul 21 05:10:53 2010
@@ -61,7 +61,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Method/Destructor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Method/Destructor.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Method/Destructor.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Method/Destructor.pm Wed Jul 21 05:10:53 2010
@@ -55,7 +55,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Module.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Module.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Module.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Module.pm Wed Jul 21 05:10:53 2010
@@ -329,7 +329,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Role.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Role.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Role.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Role.pm Wed Jul 21 05:10:53 2010
@@ -312,7 +312,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Role/Composite.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Role/Composite.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Role/Composite.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Role/Composite.pm Wed Jul 21 05:10:53 2010
@@ -125,7 +125,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/Role/Method.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/Role/Method.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/Role/Method.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/Role/Method.pm Wed Jul 21 05:10:53 2010
@@ -23,7 +23,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Meta/TypeConstraint.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Meta/TypeConstraint.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Meta/TypeConstraint.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Meta/TypeConstraint.pm Wed Jul 21 05:10:53 2010
@@ -1,9 +1,11 @@
package Mouse::Meta::TypeConstraint;
use Mouse::Util qw(:meta); # enables strict and warnings
+use Scalar::Util ();
use overload
'bool' => sub (){ 1 }, # always true
'""' => sub { $_[0]->name }, # stringify to tc name
+ '0+' => sub { Scalar::Util::refaddr($_[0]) },
'|' => sub { # or-combination
require Mouse::Util::TypeConstraints;
return Mouse::Util::TypeConstraints::find_or_parse_type_constraint(
@@ -14,7 +16,8 @@
fallback => 1;
sub new {
- my($class, %args) = @_;
+ my $class = shift;
+ my %args = @_ == 1 ? %{$_[0]} : @_;
$args{name} = '__ANON__' if !defined $args{name};
@@ -236,7 +239,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 DESCRIPTION
Modified: trunk/libmouse-perl/lib/Mouse/Object.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Object.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Object.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Object.pm Wed Jul 21 05:10:53 2010
@@ -17,7 +17,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 METHODS
Modified: trunk/libmouse-perl/lib/Mouse/PurePerl.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/PurePerl.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/PurePerl.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/PurePerl.pm Wed Jul 21 05:10:53 2010
@@ -778,7 +778,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SEE ALSO
Modified: trunk/libmouse-perl/lib/Mouse/Role.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Role.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Role.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Role.pm Wed Jul 21 05:10:53 2010
@@ -1,7 +1,7 @@
package Mouse::Role;
use Mouse::Exporter; # enables strict and warnings
-our $VERSION = '0.62';
+our $VERSION = '0.63';
use Carp qw(confess);
use Scalar::Util qw(blessed);
@@ -145,7 +145,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SYNOPSIS
Modified: trunk/libmouse-perl/lib/Mouse/Spec.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Spec.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Spec.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Spec.pm Wed Jul 21 05:10:53 2010
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = '0.62';
+our $VERSION = '0.63';
our $MouseVersion = $VERSION;
our $MooseVersion = '1.05';
@@ -19,7 +19,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 SYNOPSIS
Modified: trunk/libmouse-perl/lib/Mouse/Tiny.pod
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Tiny.pod?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Tiny.pod (original)
+++ trunk/libmouse-perl/lib/Mouse/Tiny.pod Wed Jul 21 05:10:53 2010
@@ -5,7 +5,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 DESCRIPTION
Modified: trunk/libmouse-perl/lib/Mouse/Util.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Util.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Util.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Util.pm Wed Jul 21 05:10:53 2010
@@ -52,7 +52,7 @@
# Because Mouse::Util is loaded first in all the Mouse sub-modules,
# XS loader is placed here, not in Mouse.pm.
- our $VERSION = '0.62';
+ our $VERSION = '0.63';
my $xs = !(exists $INC{'Mouse/PurePerl.pm'} || $ENV{MOUSE_PUREPERL});
@@ -365,7 +365,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 IMPLEMENTATIONS FOR
Modified: trunk/libmouse-perl/lib/Mouse/Util/TypeConstraints.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/Util/TypeConstraints.pm?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/Util/TypeConstraints.pm (original)
+++ trunk/libmouse-perl/lib/Mouse/Util/TypeConstraints.pm Wed Jul 21 05:10:53 2010
@@ -17,6 +17,7 @@
coerce
find_type_constraint
+ register_type_constraint
)],
);
@@ -367,6 +368,16 @@
return $TYPE{$spec};
}
+sub register_type_constraint {
+ my($constraint) = @_;
+ Carp::croak("No type supplied / type is not a valid type constraint")
+ unless Mouse::Util::is_a_type_constraint($constraint);
+ my $name = $constraint->name;
+ Carp::croak("can't register an unnamed type constraint")
+ unless defined $name;
+ return $TYPE{$name} = $constraint;
+}
+
sub find_or_parse_type_constraint {
my($spec) = @_;
return $spec if Mouse::Util::is_a_type_constraint($spec);
@@ -406,7 +417,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head2 SYNOPSIS
Modified: trunk/libmouse-perl/lib/Mouse/XS.pod
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/lib/Mouse/XS.pod?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/lib/Mouse/XS.pod (original)
+++ trunk/libmouse-perl/lib/Mouse/XS.pod Wed Jul 21 05:10:53 2010
@@ -5,7 +5,7 @@
=head1 VERSION
-This document describes Mouse version 0.62
+This document describes Mouse version 0.63
=head1 DESCRIPTION
Modified: trunk/libmouse-perl/t/040_type_constraints/010_misc_type_tests.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmouse-perl/t/040_type_constraints/010_misc_type_tests.t?rev=60442&op=diff
==============================================================================
--- trunk/libmouse-perl/t/040_type_constraints/010_misc_type_tests.t (original)
+++ trunk/libmouse-perl/t/040_type_constraints/010_misc_type_tests.t Wed Jul 21 05:10:53 2010
@@ -3,8 +3,9 @@
use strict;
use warnings;
-use Test::More tests => 11;
+use Test::More;
use Test::Exception;
+use Scalar::Util qw(refaddr);
BEGIN {
use_ok('Mouse::Util::TypeConstraints');
@@ -65,3 +66,24 @@
"correct error thrown"
);
}
+
+{
+ for my $t (qw(Bar Foo)) {
+ my $tc = Mouse::Meta::TypeConstraint->new({
+ name => $t,
+ });
+
+ Mouse::Util::TypeConstraints::register_type_constraint($tc);
+ }
+
+ my $foo = Mouse::Util::TypeConstraints::find_type_constraint('Foo');
+ my $bar = Mouse::Util::TypeConstraints::find_type_constraint('Bar');
+
+ ok(!$foo->is_a_type_of($bar), "Foo type is not equal to Bar type");
+ ok( $foo->is_a_type_of($foo), "Foo equals Foo");
+ ok( 0+$foo == refaddr($foo), "overloading works");
+}
+
+ok $subtype1, "type constraint boolean overload works";
+
+done_testing;
More information about the Pkg-perl-cvs-commits
mailing list