]> git.vpit.fr Git - perl/modules/Lexical-Types.git/commitdiff
Talk about $_[0] in 'as' callbacks for constant types
authorVincent Pit <vince@profvince.com>
Sat, 7 Mar 2009 12:19:51 +0000 (13:19 +0100)
committerVincent Pit <vince@profvince.com>
Sat, 7 Mar 2009 12:19:51 +0000 (13:19 +0100)
lib/Lexical/Types.pm

index c5c416b97f53da70db2d906db7fd4c91f8d11059..c5bca1e792a0621ea31e10916e0c60f68476cf8d 100644 (file)
@@ -125,6 +125,14 @@ or the desired package and method name, in that order (if any of those is C<unde
 
 =back
 
+Note that if the type is a constant, C<$_[0]> will be set to the I<value> of constant and not to its name.
+
+    use Lexical::Types as => sub { $_[0] => 'new' };
+    use constant Str => 'MyStr';
+    my Str $x; # calls MyStr->new
+
+This means in particular that you can't both use constant types and redirect several types to different methods of the same package, because then you can't distinguish between the original types with C<$_[0]>.
+
 =back
 
 =cut