Paranoia
Tomas Doran [Wed, 15 Feb 2012 21:57:19 +0000 (21:57 +0000)]
Changes
lib/Catalyst/Model/DBIC/Schema/Types.pm

diff --git a/Changes b/Changes
index aed5300..e4f34fb 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,8 @@
 Revision history for Perl extension Catalyst::Model::DBIC::Schema
 
+       - Additional paranoia in types as it's possible for loading code
+         to clobber $_
+
 0.59  2011-11-01 11:20:46
         - update helper deps for new loader
 
index dae2da4..44aee6b 100644 (file)
@@ -17,8 +17,8 @@ subtype LoadedClass,
     as ClassName;
 
 coerce LoadedClass,
-    from Str,
-    via { Class::MOP::load_class($_); $_ };
+    from Str, # N.B. deliberate paranoia against $_ clobbering below
+    via { my $classname = $_; Class::MOP::load_class($classname); $classname };
 
 subtype SchemaClass,
     as ClassName,