Skip to content

Commit

Permalink
use Devel::OverloadInfo::is_overloaded for workarounds for older perls
Browse files Browse the repository at this point in the history
  • Loading branch information
karenetheridge committed Aug 14, 2015
1 parent 3603a1e commit 6337f6c
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 8 deletions.
6 changes: 6 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ for, noteworthy changes.

{{$NEXT}}

[BUG FIXES]

- Replaced uses of overload::Overloaded with the new
Devel::OverloadInfo::is_overloaded (thanks, ilmari!) to work around more
issues with overload handling in older versions of perl.

2.1601 2015-08-10 (TRIAL RELEASE)

[BUG FIXES]
Expand Down
4 changes: 2 additions & 2 deletions dist.ini
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,8 @@ skip = ^Moose::Meta::TypeConstraint::Union$
;authordep Data::OptList = 0.107
Devel::GlobalDestruction = 0
;authordep Devel::GlobalDestruction = 0
Devel::OverloadInfo = 0.002
;authordep Devel::OverloadInfo = 0.002
Devel::OverloadInfo = 0.004
;authordep Devel::OverloadInfo = 0.004
Devel::StackTrace = 1.33
;authordep Devel::StackTrace = 1.33
Eval::Closure = 0.04
Expand Down
2 changes: 1 addition & 1 deletion lib/Class/MOP/Class.pm
Original file line number Diff line number Diff line change
Expand Up @@ -1993,7 +1993,7 @@ These methods provide an API to the core L<overload> functionality.
=item B<< $metaclass->is_overloaded >>
Returns true if overloading is enabled for this class. Corresponds to
L<overload::Overloaded|overload/Public Functions>.
L<Devel::OverloadInfo/is_overloaded>.
=item B<< $metaclass->get_overloaded_operator($op) >>
Expand Down
4 changes: 2 additions & 2 deletions lib/Class/MOP/Mixin/HasOverloads.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use warnings;

use Class::MOP::Overload;

use Devel::OverloadInfo 'overload_info';
use Devel::OverloadInfo 0.004 'overload_info';
use Scalar::Util 'blessed';
use Sub::Identify 'sub_name', 'stash_name';

Expand All @@ -16,7 +16,7 @@ use parent 'Class::MOP::Mixin';

sub is_overloaded {
my $self = shift;
return overload::Overloaded($self->name);
Devel::OverloadInfo::is_overloaded($self->name);
}

sub get_overload_list {
Expand Down
3 changes: 2 additions & 1 deletion lib/Moose/Meta/Role/Application/ToInstance.pm
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ use metaclass;

use Scalar::Util 'blessed';
use List::Util 1.33 'all';
use Devel::OverloadInfo 0.004 'is_overloaded';

use parent 'Moose::Meta::Role::Application';

Expand Down Expand Up @@ -38,7 +39,7 @@ sub apply {
$class->rebless_instance( $object, %{ $self->rebless_params } );

if ( _NEED_OVERLOAD_HACK_FOR_OBJECTS
&& overload::Overloaded( ref $object ) ) {
&& is_overloaded( ref $object ) ) {

# need to use $_[2] here to apply to the object in the caller
_reset_amagic($_[2]);
Expand Down
5 changes: 3 additions & 2 deletions t/lib/OverloadingTests.pm
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ use strict;
use warnings;

use Test::More 0.88;
use Devel::OverloadInfo 0.004 'is_overloaded';

sub test_overloading_for_package {
my $package = shift;

ok(
overload::Overloaded($package),
is_overloaded($package),
"$package is overloaded"
);
ok(
Expand All @@ -22,7 +23,7 @@ sub test_no_overloading_for_package {
my $package = shift;

ok(
!overload::Overloaded($package),
!is_overloaded($package),
"$package is not overloaded"
);
ok(
Expand Down

0 comments on commit 6337f6c

Please sign in to comment.