http://qs321.pair.com?node_id=947288


in reply to Re^4: Moose - two augmented methods in one class
in thread Moose - two augmented methods in one class

I think the lesson to be learned here is simply "don't use augment/inner for anything complicated", which can be whittled down to "don't use augment/inner" if you like.

Basically, it was an interesting feature, but not something I would advise leaning on too heavily. Not only is the implementation problematic, but the semantics are just plain weird (even in the BETA language from which I originally stole it).

-stvn
  • Comment on Re^5: Moose - two augmented methods in one class

Replies are listed 'Best First'.
Moose - inner/augment a misfeature?
by tobyink (Canon) on Jan 11, 2012 at 12:04 UTC

    Would it be fair to say then, that issue #73850 should be subsumed into a larger issue: "inner/augment need moving into a MooseX release"?

      Ultimately it would be nice if we could make it work properly, but that might be too much to ask from a library. However I will let the current maintainers chew on it a little and see if they can fix it (crazier sh*t has been pulled off in the past).

      I think moving to a MooseX:: is probably too extreme and would seriously break backwards compat, and as I said, it works in simple cases. If nothing more, it would require a loooooooong deprecation cycle. So perhaps the better approach is more a matter of documentation updates that better explain the caveats.

      Thankfully, only a small percentage of people actually grok this feature and of those people only a handful of them are crazy enough to try and use it.

      -stvn