X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FMixin%2FHasMethods.pm;h=c2e870a27409aacc861603b1689adf1262d7159a;hb=702be3d89ea803c8ece85c0bfaccfdff72f6cd0b;hp=5f6a4db08d868ce5f3bd5736a3679323283d6647;hpb=87a1f36e0f0e38af826028d2dbd8b3d85ccca101;p=gitmo%2FMoose.git diff --git a/lib/Class/MOP/Mixin/HasMethods.pm b/lib/Class/MOP/Mixin/HasMethods.pm index 5f6a4db..c2e870a 100644 --- a/lib/Class/MOP/Mixin/HasMethods.pm +++ b/lib/Class/MOP/Mixin/HasMethods.pm @@ -264,6 +264,14 @@ sub add_overloaded_operator { $self->name->overload::OVERLOAD($op => $body); } +sub remove_overloaded_operator { + my $self = shift; + my ($op) = @_; + # ugh, overload.pm provides no api for this + $self->get_or_add_package_symbol('%OVERLOAD')->{dummy}++; + $self->remove_package_symbol('&(' . $op); +} + sub _get_overloaded_operator_body { my $self = shift; my ($op) = @_;