Changes for version 0.018 - 2026-04-25

  • Removed two dead-code branches identified by Devel::Cover:
    • `or $has_wildcard` in fast-return condition (logically unreachable: $has_wildcard can only be true when $ok->@* is already true)
    • `elsif ($ok->@*)` in Phase 4 (always true when reached, since the fast-return already handles the empty-accepted case)
  • Added Devel::Cover integration: `make cover` target via MY::postamble
  • Added 6 new subtests to close remaining coverage gaps:
    • Scalar-context branches for empty-args, per-field, and Phase 4 returns
    • Unsupported reference input type (scalar ref, coderef, regex)
    • `required || []` defensive guard in apply() (torn-object test)
    • `@all_msgs` true branch on fast-return path (odd-array + required-only)
  • 100% coverage across all Devel::Cover metrics: stmt, branch, cond, sub
  • All 84 tests passing

Modules

Field filtering for strict parameter construction