Support the global destruction flag in DEMOLISH()
[gitmo/Mouse.git] / lib / Mouse / Meta / Method / Destructor.pm
index 1d08ac0..d083a6b 100644 (file)
@@ -13,7 +13,8 @@ sub _generate_destructor{
     my $demolishall = '';
     for my $class ($metaclass->linearized_isa) {
         if (Mouse::Util::get_code_ref($class, 'DEMOLISH')) {
-            $demolishall .= "${class}::DEMOLISH(\$self);\n";
+            $demolishall .= sprintf "%s::DEMOLISH(\$self, \$Mouse::Util::in_global_destruction);\n",
+                $class,
         }
     }