summaryrefslogtreecommitdiff
path: root/t/class/field.t
diff options
context:
space:
mode:
Diffstat (limited to 't/class/field.t')
-rw-r--r--t/class/field.t15
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;