diff options
Diffstat (limited to 't/class/field.t')
-rw-r--r-- | t/class/field.t | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/t/class/field.t b/t/class/field.t index ba4e64baca..a12fb65413 100644 --- a/t/class/field.t +++ b/t/class/field.t @@ -282,4 +282,19 @@ no warnings 'experimental::class'; 'Values for missing'); } +# field initialiser expressions permit `goto` in do {} blocks +{ + class Test13 { + field $forwards = do { goto HERE; HERE: 1 }; + field $backwards = do { my $x; HERE: ; goto HERE if !$x++; 2 }; + + method values { return ($forwards, $backwards) } + } + + ok(eq_array( + [Test13->new->values], + [1, 2], + 'Values for goto inside do {} blocks in field initialisers')); +} + done_testing; |