From: Jesse Luehrs <doy@tozt.net>
Date: Mon, 9 May 2011 14:52:19 +0000 (-0500)
Subject: whoops again
X-Git-Tag: 2.0005~3
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=94c7de744ad0d111d412b06a3f14501bb47623ae;p=gitmo%2FMoose.git

whoops again
---

diff --git a/lib/Moose/Meta/Class.pm b/lib/Moose/Meta/Class.pm
index cdf7f91..4f22ebb 100644
--- a/lib/Moose/Meta/Class.pm
+++ b/lib/Moose/Meta/Class.pm
@@ -137,8 +137,13 @@ sub _anon_cache_key {
                 return;
             }
 
-            $key .= '<' . join('+', 'a', join('%', sort %$alias),
-                                    'e', join('%', sort @$excludes)) . '>';
+            my $alias_key = join('%',
+                map { $_ => $alias->{$_} } sort keys %$alias
+            );
+            my $excludes_key = join('%',
+                sort @$excludes
+            );
+            $key .= '<' . join('+', 'a', $alias_key, 'e', $excludes_key) . '>';
         }
 
         push @role_keys, $key;
diff --git a/lib/Moose/Meta/Role.pm b/lib/Moose/Meta/Role.pm
index 6a29192..da86544 100644
--- a/lib/Moose/Meta/Role.pm
+++ b/lib/Moose/Meta/Role.pm
@@ -613,8 +613,13 @@ sub _anon_cache_key {
                 return;
             }
 
-            $key .= '<' . join('+', 'a', join('%', sort %$alias),
-                                    'e', join('%', sort @$excludes)) . '>';
+            my $alias_key = join('%',
+                map { $_ => $alias->{$_} } sort keys %$alias
+            );
+            my $excludes_key = join('%',
+                sort @$excludes
+            );
+            $key .= '<' . join('+', 'a', $alias_key, 'e', $excludes_key) . '>';
         }
 
         push @role_keys, $key;