PaulHowarth/Blog/2022-07-17

Sunday 17th July 2022

Local Packages

  • Updated perl-Type-Tiny to 1.016000:

  • Back Compat:
    • Type::Params is now smarter at calculating the expected $#_ for functions that take named parameters, so it can 'fail early' more often when there are extra parameters or missing required parameters; this means you may get errors indicating the wrong number of parameters when you were previously getting errors indicating particular unrecognized or missing required parameters, which may break test suites that were looking for particular error messages

  • Other:
    • Major refactoring of Type::Params, splitting out signature compilation into separate back-end OO-modules that Type::Params now acts as a front end for; this refactor should make the code easier to work with, add new features to, and tweak the performance of

    • Type::Params::Signature now avoids using the word 'return' in its generated source code, as MooX::Press was using that as a talisman; also avoid using the 'return' keyword to return the final results of the signature check, as falling through performs better on older Perls, plus it enables MooX::Press to convert the coderef into a do{} block

    • Defaults for Type::Params parameters can now be a reference to a string of Perl code (like Mite)

    • Add a clone option to parameters in Type::Params to clone them with Storable::dclone(); this is mostly a test of how much easier improving Type::Params is since it was refactored


Recent