11 is __SUB__, "__SUB__", '__SUB__ is a bareword outside of use feature';
15 is __SUB__, undef, '__SUB__ under use v5.16';
18 use feature 'current_sub';
20 is __SUB__, undef, '__SUB__ returns undef outside of a subroutine';
21 is +()=__SUB__, 1, '__SUB__ returns undef in list context';
24 is foo, \&foo, '__SUB__ inside a named subroutine';
25 is foo->(), \&foo, '__SUB__ is callable';
26 is ref foo, 'CODE', '__SUB__ is a code reference';
28 my $subsub = sub { __SUB__ };
29 is &$subsub, $subsub, '__SUB__ inside anonymous non-closure';
33 push @subsubs, sub { return $x if @_; __SUB__ };
35 # Don’t loop here; we need to avoid interactions between the iterator
37 is $subsubs[0]()(0), 1, '__SUB__ inside closure (1)';
38 is $subsubs[1]()(0), 2, '__SUB__ inside closure (2)';
39 is $subsubs[2]()(0), 3, '__SUB__ inside closure (3)';