## name EmptyReturn
## failures 1
## cut
sub foo { return; return $foo; }
## name BareReturn
## failures 1
## cut
sub foo { return $foo; return }
## name ReturnEmptyList
## failures 0
## cut
sub foo { return (); return ($foo, $bar); }
## name ReturnScalar
## failures 0
## cut
sub foo { return undef; return $foo; }
## name ReturnList
## failures 0
## cut
sub foo { return 1, 2, 3; return $foo; }
## name ReturnModified
## failures 1
## cut
sub foo { return if bar(); return $foo; }
## name ReturnMidStatement
## failures 1
## cut
sub foo { bar() or return; return $foo; }
## name OnlyEmptyReturn
## failures 0
## cut
sub foo { return if bar(); return; }
## name ReturnInStructure
## failures 1
## cut
sub foo { return if bar(); if (1) { return $foo } }
## name OnlyEmptyReturnInStructure
## failures 0
## cut
sub foo { return if bar(); if (1) { return } }
## name ReturnInCode
## failures 0
## cut
sub foo { return if bar(); my $code = sub { return $foo }; }