  builtin.c     experimental warnings from builtin functions

__END__
# builtin.c - booleans
use strict;
use warnings qw(all -void);
use builtin qw(isbool true false);
my ($isbool, $true, $false) = (\&isbool, \&true, \&false);
isbool(0);
true;
false;
&isbool(0);
&true;
&false;
$isbool->(0);
$true->();
$false->();
no warnings 'experimental::builtin';
isbool(0);
true;
false;
&isbool(0);
&true;
&false;
$isbool->(0);
$true->();
$false->();
EXPECT
Built-in function 'builtin::isbool' is experimental at - line 6.
Built-in function 'builtin::true' is experimental at - line 7.
Built-in function 'builtin::false' is experimental at - line 8.
Built-in function 'builtin::isbool' is experimental at - line 9.
Built-in function 'builtin::true' is experimental at - line 10.
Built-in function 'builtin::false' is experimental at - line 11.
Built-in function 'builtin::isbool' is experimental at - line 12.
Built-in function 'builtin::true' is experimental at - line 13.
Built-in function 'builtin::false' is experimental at - line 14.
########
# builtin.c - weakrefs
use strict;
use warnings qw(all -void);
use builtin qw(weaken unweaken isweak);
my ($isweak, $weaken, $unweaken) = (\&weaken, \&unweaken, \&isweak);
my $ref = [];
isweak($ref);
weaken($ref);
unweaken($ref);
&isweak($ref);
&weaken($ref);
&unweaken($ref);
$isweak->($ref);
$weaken->($ref);
$unweaken->($ref);
no warnings 'experimental::builtin';
isweak($ref);
weaken($ref);
unweaken($ref);
&isweak($ref);
&weaken($ref);
&unweaken($ref);
$isweak->($ref);
$weaken->($ref);
$unweaken->($ref);
EXPECT
Built-in function 'builtin::isweak' is experimental at - line 7.
Built-in function 'builtin::weaken' is experimental at - line 8.
Built-in function 'builtin::unweaken' is experimental at - line 9.
Built-in function 'builtin::isweak' is experimental at - line 10.
Built-in function 'builtin::weaken' is experimental at - line 11.
Built-in function 'builtin::unweaken' is experimental at - line 12.
Built-in function 'builtin::weaken' is experimental at - line 13.
Built-in function 'builtin::unweaken' is experimental at - line 14.
Built-in function 'builtin::isweak' is experimental at - line 15.
########
# builtin.c - blessed refs
use strict;
use warnings qw(all -void);
use builtin qw(blessed refaddr reftype);
my ($reftype, $blessed, $refaddr) = (\&blessed, \&refaddr, \&reftype);
my $ref = [];
blessed($ref);
refaddr($ref);
reftype($ref);
&blessed($ref);
&refaddr($ref);
&reftype($ref);
$blessed->($ref);
$refaddr->($ref);
$reftype->($ref);
no warnings 'experimental::builtin';
blessed($ref);
refaddr($ref);
reftype($ref);
&blessed($ref);
&refaddr($ref);
&reftype($ref);
$blessed->($ref);
$refaddr->($ref);
$reftype->($ref);
EXPECT
Built-in function 'builtin::blessed' is experimental at - line 7.
Built-in function 'builtin::refaddr' is experimental at - line 8.
Built-in function 'builtin::reftype' is experimental at - line 9.
Built-in function 'builtin::blessed' is experimental at - line 10.
Built-in function 'builtin::refaddr' is experimental at - line 11.
Built-in function 'builtin::reftype' is experimental at - line 12.
Built-in function 'builtin::refaddr' is experimental at - line 13.
Built-in function 'builtin::reftype' is experimental at - line 14.
Built-in function 'builtin::blessed' is experimental at - line 15.
