]> Dogcows Code - chaz/p5-Return-Type-Lexical/blobdiff - lib/Return/Type/Lexical.pm
add code comment
[chaz/p5-Return-Type-Lexical] / lib / Return / Type / Lexical.pm
index a6d58073a0a3c0535a0af10f867c57037df1c507..8da614a016af249c35d1c7308343b08cddf56485 100644 (file)
@@ -19,12 +19,17 @@ sub unimport {
 }
 
 sub _in_effect {
-    my $level = shift // 0;
+    my ($level) = @_;
+    $level = 0 if !defined $level;
     my $hinthash = (caller($level))[10];
     my $in_effect = $hinthash->{'Return::Type::Lexical/in_effect'};
     return !defined $in_effect || $in_effect;
 }
 
+# XXX This is kind of janky. It relies upon Return::Type using Attribute::Handlers, and it assumes
+# some internal Attribute::Handlers behavior. If it proves to be too fragile, we may need to copy
+# the Return::Type code to here. Or make Return::Type lexical if that can be done without breaking
+# backward-compatibility.
 my $handler;
 BEGIN {
     $handler = $UNIVERSAL::{ReturnType};
This page took 0.016832 seconds and 4 git commands to generate.