Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^2: Help! Overloading operators doesn't work

by mascip (Pilgrim)
on Sep 01, 2012 at 11:58 UTC ( #991149=note: print w/replies, xml ) Need Help??


in reply to Re: Help! Overloading operators doesn't work
in thread [solved] Help! Overloading operators doesn't work

You're right, it's because of namespace::autoclean

There is an example in the Moose Cookbook, of overloading with Moose : http://search.cpan.org/~stevan/Moose/lib/Moose/Cookbook/Basics/Recipe9.pod
It uses the overloading operator.

According to a namespace::autoclean review, if you use overloading with Moose you should use namespace::sweep instead of namespace::autoclean : "This pragma was written to address some problems with the excellent namespace::autoclean. In particular, namespace::autoclean will remove special symbols that are installed by overload, so you can't use namespace::autoclean on objects that overload Perl operators."

  • Comment on Re^2: Help! Overloading operators doesn't work

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://991149]
help
Chatterbox?
[marinersk]: sub newtest{my $expected_result = &target('foo'); my $actual_result = &target('foo'); if ($actual_result eq $expected_result) { &tdd_success(); } else { &tdd_fail(); } } # Test works after three years!
[choroba]: or nobody bothered...
[choroba]: The problem was bigger, as the test tried to call a method that didn't exist anymore
[marinersk]: :: ducking ::
[choroba]: because, someone renamed the method, but didn't notice it was used in the test, as the test was skipped
[marinersk]: Well, if the method doesn't exist, it would be hard to pass the test.
[choroba]: later, someone removed the new method, as all its usage places were safe, but didn't notice the test still used the old name
[choroba]: fortunately, it wasn't that hard to replace the method and fix a few remaining failures due to the changes we did to the codebase over the years
[marinersk]: choroba Sounds like a process improvement opportunity; tests may not all need to be run, but they should all be compiled with perl -c before check-in/promotion happens.
[choroba]: so, now I have the test, so I can start making changes in the code. Back to the original ticket, yay!

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (15)
As of 2017-05-25 15:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?