It appears this policy fails to detect undeclared subs that are given directly to print or single-arg printf.
The policy fails to detect anything wrong here:
use strict;
use warnings;
print foo();
printf foo();
However, these are detected ok
print {*STDERR} foo();
printf('%s', foo());
say foo();
Version:
This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-multi