
If you've ever tried to use test::nowarnings to confirm there are no warnings generated by your tests, combined with the convenience of done_testing to not have to declare a test count, you'll have discovered that these two features do not play well together, as the test count will be calculated before the warnings test is run, resulting in a tap error.
test::warnings is intended to be used as a drop-in replacement for test::nowarnings. it can also be used as a replacement for test::warn, if you wish to test the content of expected warnings.