Subject: | Method from composed class is seen as a function by Devel::Symdump |
I noticed a particular module is failing its pod coverage test -- the "uncovered" function is actually defined in a role being composed. It doesn't matter if the method is actually mentioned at all in the class. Removing "use MooX::TypeTiny" made the problem go away.
Internally, Pod::Coverage is using Devel::Symdump->new($package)->functions to get the list of coverage candidates: https://metacpan.org/release/Pod-Coverage/source/lib/Pod/Coverage.pm#L303-336
Moo: 2.004003
MooX::TypeTiny: 0.002003
perl: 5.033004
Below is a stripped-down version of the code that demonstrates the issue (the uncovered sub name is "evaluator"):
---
use strict;
use warnings;
package JSON::Schema::Draft201909::Vocabulary::Format;
use Moo;
use MooX::TypeTiny 0.002002;
with 'JSON::Schema::Draft201909::Vocabulary';
sub vocabulary {}
sub keywords {}
1;
__END__
=pod
=cut
---