summaryrefslogtreecommitdiff
path: root/t/op/svleak.t
diff options
context:
space:
mode:
Diffstat (limited to 't/op/svleak.t')
-rw-r--r--t/op/svleak.t8
1 files changed, 7 insertions, 1 deletions
diff --git a/t/op/svleak.t b/t/op/svleak.t
index d38c92d11f..7b530925fa 100644
--- a/t/op/svleak.t
+++ b/t/op/svleak.t
@@ -15,7 +15,7 @@ BEGIN {
use Config;
-plan tests => 69;
+plan tests => 71;
# run some code N times. If the number of SVs at the end of loop N is
# greater than (N-1)*delta at the end of loop 1, we've got a leak
@@ -197,6 +197,12 @@ eleak(2, 0, 'no warnings; sub {1 1}', 'anon sub with syntax error');
eleak(2, 0, 'no warnings; use feature ":all"; my sub a{1 1}',
'my sub with syntax error');
+# Reification (or lack thereof)
+leak(2, 0, sub { sub { local $_[0]; shift }->(1) },
+ 'local $_[0] on surreal @_, followed by shift');
+leak(2, 0, sub { sub { local $_[0]; \@_ }->(1) },
+ 'local $_[0] on surreal @_, followed by reification');
+
# Syntax errors
eleak(2, 0, '"${<<END}"
', 'unterminated here-doc in quotes in multiline eval');