point out how easy it is to move from override to around
Matt S Trout [Sun, 27 May 2012 15:46:12 +0000 (15:46 +0000)]
Changes
lib/Moo.pm

diff --git a/Changes b/Changes
index 3e33d5c..632d0cf 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,4 @@
+  - document override -> around translation
   - use D::GD if installed rather than re-adding it as a requirement
 
 0.091007 - 2012-05-17
index 7d076c9..27242db 100644 (file)
@@ -588,9 +588,21 @@ provide a metaprotocol. However, if you load L<Moose>, then
 
 will return an appropriate metaclass pre-populated by L<Moo>.
 
-No support for C<super>, C<override>, C<inner>, or C<augment> - override can
-be handled by around albeit with a little more typing, and the author considers
-augment to be a bad idea.
+No support for C<super>, C<override>, C<inner>, or C<augment> - the author
+considers augment to be a bad idea, and override can be translated:
+
+  override foo => sub {
+    ...
+    super();
+    ...
+  };
+
+  around foo => sub {
+    my ($orig, $self) = (shift, shift);
+    ...
+    $self->$orig(@_);
+    ...
+  };
 
 The C<dump> method is not provided by default. The author suggests loading
 L<Devel::Dwarn> into C<main::> (via C<perl -MDevel::Dwarn ...> for example) and