Deprecate, don't remove, Class::MOP::{subname,in_global_destruction}
Shawn M Moore [Sat, 2 May 2009 02:20:22 +0000 (22:20 -0400)]
Changes
lib/Class/MOP.pm

diff --git a/Changes b/Changes
index d1f2418..73828c5 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,7 +1,8 @@
 Revision history for Perl extension Class-MOP.
 
     * Class::MOP
-      - Remove in_global_destruction and subname re-exporting (perigrin)
+      - Deprecate in_global_destruction and subname re-exporting
+        (perigrin & Sartak)
     * Class::MOP::Class
       - Explicitly use Devel::GlobalDestruction and Sub::Name (perigrin)
     * Class::MOP::Package
index fdb397f..791b95b 100644 (file)
@@ -153,6 +153,18 @@ sub _is_valid_class_name {
     return 0;
 }
 
+sub subname {
+    require Sub::Name;
+    Carp::carp("Class::MOP::subname is deprecated. Please use Sub::Name directly.");
+    goto \&Sub::Name::subname;
+}
+
+sub in_global_destruction {
+    require Devel::GlobalDestruction;
+    Carp::carp("Class::MOP::in_global_destruction is deprecated. Please use Devel::GlobalDestruction directly.");
+    goto \&Devel::GlobalDestruction::in_global_destruction;
+}
+
 ## ----------------------------------------------------------------------------
 ## Setting up our environment ...
 ## ----------------------------------------------------------------------------