diff options
Diffstat (limited to 't/op/defer.t')
-rw-r--r-- | t/op/defer.t | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/t/op/defer.t b/t/op/defer.t index c651312cb5..fd712d9c66 100644 --- a/t/op/defer.t +++ b/t/op/defer.t @@ -6,7 +6,7 @@ BEGIN { set_up_inc('../lib'); } -plan 26; +plan 28; use feature 'defer'; no warnings 'experimental::defer'; @@ -251,6 +251,17 @@ no warnings 'experimental::defer'; like($e, qr/^Oopsie \d\n/, 'defer block can throw exception during exception unwind'); } +# goto +{ + ok(defined eval 'sub { defer { goto HERE; HERE: 1; } }', + 'goto forwards within defer {} is permitted') or + diag("Failure was $@"); + + ok(defined eval 'sub { defer { HERE: 1; goto HERE; } }', + 'goto backwards within defer {} is permitted') or + diag("Failure was $@"); +} + { my $sub = sub { while(1) { |