title: Perl MooseX::MethodAttributes get method attributes
body: <p>When using <a href="https://metacpan.org/pod/MooseX::Declare" rel="nofollow">MooseX::Declare</a> and <a href="https://metacpan.org/pod/MooseX::MethodAttributes" rel="nofollow">MooseX::MethodAttributes</a> in the same package I get error when getting the method attributes using:</p>
  
  <pre><code>$attrs = $class-&gt;meta-&gt;get_method('moosey')-&gt;attributes;
  </code></pre>
  
  <p>I get the error:</p>
  
  <pre><code>Can't locate object method "attributes" via package "MooseX::Method::Signatures::Meta::Method"
  </code></pre>
  
  <p>I tried to look at the code for the module <code>MooseX::MethodAttributes</code> and I was able to get
  these methods to work about attributes:</p>
  
  <pre><code>my $attribute_list = $class-&gt;meta-&gt;get_method('moosey')-&gt;associated_metaclass()-&gt;_method_attribute_list;
  
  my $attribute_map = $class-&gt;meta-&gt;get_method('moosey')-&gt;associated_metaclass()-&gt;_method_attribute_map;
  </code></pre>
  
  <p>The issue here is the module uses a numeric pointer to the attributes which I do not know how to generate to get specific method attributes.</p>
  
  <p>If I run this code:</p>
  
  <pre><code>my $attribute_list = $class-&gt;meta-&gt;get_method('moosey')-&gt;associated_metaclass()-&gt;_method_attribute_list;
  my $attribute_map = $class-&gt;meta-&gt;get_method('moosey')-&gt;associated_metaclass()-&gt;_method_attribute_map;
  print Dumper($attribute_list);
  print Dumper($attribute_map);
  </code></pre>
  
  <p>I get this debug information:</p>
  
  <pre><code>$VAR1 = [
            70862136
          ];
  $VAR1 = {
            '70862136' =&gt; [
                            'AttrMoosey',
                            'AttrBoosy(path/app)',
                            'AttrCoosy'
                          ]
          };
  </code></pre>
  
  <p>So how can I get the method attributes in this case until these modules are fixed to work with each other properly.</p>
  
  <p>Here is the code I use for testing:</p>
  
  <pre><code>package Moosey;
  use Moose;
  use MooseX::Declare;
  use MooseX::MethodAttributes;
  
  class  Moosey is mutable {
      method moosey ($name, $email) : AttrMoosey AttrBoosy(path/app) AttrCoosy { print "moosey called"; }
  }
  1;
  
  use Data::Dumper;
  my $class = Moosey-&gt;new;
  my $method = $class-&gt;meta-&gt;get_method('moosey');
  
  # this does not work:
  # my $attrs = $class-&gt;meta-&gt;get_method('moosey')-&gt;attributes;
  
  my $attribute_list = $class-&gt;meta-&gt;get_method('moosey')-&gt;associated_metaclass()-&gt;_method_attribute_list;
  my $attribute_map = $class-&gt;meta-&gt;get_method('moosey')-&gt;associated_metaclass()-&gt;_method_attribute_map;
  print Dumper($attribute_list);
  print Dumper($attribute_map);
  </code></pre>