The super-duper fix metaclass update.
authorDave Rolsky <autarch@urth.org>
Fri, 12 Sep 2008 22:36:04 +0000 (22:36 +0000)
committerDave Rolsky <autarch@urth.org>
Fri, 12 Sep 2008 22:36:04 +0000 (22:36 +0000)
commitf8b6827f620bd25f22b193bbec87a15d598734a3
tree077d7a7b512a2d7cafd75445dea82b198002abe3
parentc54ddfaa13f735d573a4e631a916848ab80bef8f
The super-duper fix metaclass update.

Basically, this implements the whole "if two classes differ by roles,
reconcile the roles" algorithm.

Along the way, this also fixes some bugs in
_fix_metaclass_compatibility, where it could lose things like roles on
a metaclass's attribute metaclass if the parent class's metaclass was
a subclass of said metaclass (ugh, this is hard to talk about).
lib/Moose/Meta/Class.pm
t/050_metaclasses/015_metarole.t