Bug#588118: libmoose-perl [ia64]: test failures

Ansgar Burchardt ansgar at 2008.43-1.org
Mon Jul 5 02:43:40 UTC 2010


Package: libmoose-perl
Version: 1.06-1
Severity: serious
Justification: fails to build from source

The tests for libmoose-perl fail on ia64 since version 1.06.  At first
glance none of the changes looks likely to have introduced this
regression:

The only change in 1.06 was a new feature:

  [NEW FEATURES]
  * Added '0+' overloading in Moose::Meta::TypeConstraint so that we
    can more uniformly compare type constraints between 'classic' Moose
    type constraints and MooseX::Types based type constraints.

Which was accomplished by these changes:

--- a/lib/Moose/Meta/TypeConstraint.pm
+++ b/lib/Moose/Meta/TypeConstraint.pm
@@ -5,7 +5,9 @@ use strict;
 use warnings;
 use metaclass;
 
-use overload '""'     => sub { shift->name },   # stringify to tc name
+use overload '0+'     => sub { refaddr(shift) }, # id an object
+             '""'     => sub { shift->name },   # stringify to tc name
+             bool     => sub { 1 },
              fallback => 1;
 
 use Scalar::Util qw(blessed refaddr);
@@ -133,7 +135,7 @@ sub equals {
 
     my $other = Moose::Util::TypeConstraints::find_type_constraint($type_or_name) or return;
 
-    return 1 if refaddr($self) == refaddr($other);
+    return 1 if $self == $other;
 
     if ( $self->has_hand_optimized_type_constraint and $other->has_hand_optimized_type_constraint ) {
         return 1 if $self->hand_optimized_type_constraint == $other->hand_optimized_type_constraint;

Also a new test was introduced.

There are no changes to the XS code, even the version of Class::MOP (1.02) is
the same version use to build Moose 1.05 where the tests passed.  The tests
also passed on all other architectures.

I don't have access to a ia64 host so I cannot really investigate this problem
myself.  One of the many reasons I look forward to finally finish waiting for
NM to proceed someday :-/

Regards,
Ansgar





More information about the pkg-perl-maintainers mailing list