xref: /openbsd-src/gnu/usr.bin/perl/t/lib/warnings/class (revision f2a19305cfc49ea4d1a5feb55cd6c283c6f1e031)
1class.c        warnings from 'class' feature
2__END__
3# experimental warnings
4use strict;
5use feature 'class';
6class C {
7  method m {}
8}
9EXPECT
10class is experimental at - line 4.
11method is experimental at - line 5.
12########
13# constructor warnings
14use v5.36;
15use feature 'class';
16no warnings 'experimental::class';
17class C { }
18C->new();
19eval { C->new('foo') }; # suppress error
20EXPECT
21Odd number of arguments passed to "C" constructor at - line 7.
22########
23# field shadowing warning
24use v5.36;
25use feature 'class';
26no warnings 'experimental::class';
27class C {
28  field $x;
29  field $x;
30}
31EXPECT
32"field" variable $x masks earlier declaration in same scope at - line 7.
33########
34# odd number of elements in field init
35use v5.36;
36use feature 'class';
37no warnings 'experimental::class';
38class C {
39  field %h = (1, 2, 3);
40}
41C->new;
42EXPECT
43Odd number of elements in hash field initialization at - line 6.
44