On Fri, Mar 29, 2013 at 10:32:53AM -0700, Chris Weyl wrote:
> On Fri, Mar 29, 2013 at 9:35 AM, Jesse Luehrs <d...@tozt.net> wrote:
> 
> > On Fri, Mar 29, 2013 at 09:30:59AM -0700, Chris Weyl wrote:
> > > On Thu, Mar 28, 2013 at 10:34 AM, Jesse Luehrs <d...@tozt.net> wrote:
> > >
> > > > On Thu, Mar 28, 2013 at 06:23:55PM +0100, curtis_ovid_poe wrote:
> > > > > Is the idea of deprecating alias and excludes just speculation, or is
> > > > > this the plan for the future?
> > > >
> > > > It has always been my plan, but it's been a while since I discussed it
> > > > with anyone.
> > > >
> > >
> > > Why would we do that?  Those are extremely useful features, and I'm
> > having
> > > a hard time visualizing a benefit to removing method aliasing and
> > exclusion.
> >
> > What do you use them for?
> >
> 
> One example would be an extension in providing a new native trait accessor
> type...  (that I've had hanging out in an attic branch forever):
> 
> https://gist.github.com/c29c165e1aacda7018a5
> 
> Aliasing allows me to trivially shunt one method aside and create a new one
> in its place w/o having to resort to method modifiers.

As I described earlier, this works fine:

  package Moose::Meta::Method::Accessor::Native::Hash::grep_keys;

  use Moose::Role 1.15;

  with
      'Moose::Meta::Method::Accessor::Native::Array::grep',
      'Moose::Meta::Method::Accessor::Native::Hash',
      ;

  sub _return_value {
      my ($self, $slot_access) = @_;

      return 
$self->Moose::Meta::Method::Accessor::Native::Array::grep::_return_value("[ 
keys %{ $slot_access } ]");
  }

  no Moose::Role;

  1;

-doy

Reply via email to