builtin.c experimental warnings from builtin functions __END__ # builtin.c - booleans use strict; use warnings qw(all -void); use builtin qw(is_bool true false); my ($is_bool, $true, $false) = (\&is_bool, \&true, \&false); is_bool(0); true; false; &is_bool(0); &true; &false; $is_bool->(0); $true->(); $false->(); no warnings 'experimental::builtin'; is_bool(0); true; false; &is_bool(0); &true; &false; $is_bool->(0); $true->(); $false->(); EXPECT Built-in function 'builtin::is_bool' 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::is_bool' 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::is_bool' 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 is_weak); my ($weaken, $unweaken, $is_weak) = (\&weaken, \&unweaken, \&is_weak); my $ref = []; is_weak($ref); weaken($ref); unweaken($ref); &is_weak($ref); &weaken($ref); &unweaken($ref); $is_weak->($ref); $weaken->($ref); $unweaken->($ref); no warnings 'experimental::builtin'; is_weak($ref); weaken($ref); unweaken($ref); &is_weak($ref); &weaken($ref); &unweaken($ref); $is_weak->($ref); $weaken->($ref); $unweaken->($ref); EXPECT Built-in function 'builtin::is_weak' 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::is_weak' 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::is_weak' is experimental at - line 13. Built-in function 'builtin::weaken' is experimental at - line 14. Built-in function 'builtin::unweaken' is experimental at - line 15. ######## # builtin.c - blessed refs use strict; use warnings qw(all -void); use builtin qw(blessed refaddr reftype); my ($blessed, $refaddr, $reftype) = (\&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::blessed' is experimental at - line 13. Built-in function 'builtin::refaddr' is experimental at - line 14. Built-in function 'builtin::reftype' is experimental at - line 15. ######## # builtin.c - indexed use strict; use warnings qw(all); use builtin qw(indexed); my @array = indexed 1..3; my $scalar = indexed 1..3; indexed 1..3; EXPECT Built-in function 'builtin::indexed' is experimental at - line 5. Built-in function 'builtin::indexed' is experimental at - line 6. Built-in function 'builtin::indexed' is experimental at - line 7. Useless use of builtin::indexed in scalar context at - line 6. Useless use of builtin::indexed in void context at - line 7.