PaulHowarth/Blog/2023-01-02

Monday 2nd January 2023

Fedora Project

  • Updated perl-Exporter-Tiny to 1.006000 in F-36 and F-37 (updated in Rawhide on 22nd November 2022):

    • Introduced lexical exporter support on Perl 5.11.2+ using the Lexical::Var module

    • Refactored the Perl 5.37.2+ lexical exporter support
  • This was to support updating perl-Type-Tiny in F-36 and F-37

  • Updated perl-File-Find-Object: to 0.3.7 in Rawhide:

    • Fix test failures on Windows (GH#2)

  • Updated perl-Test-File to 1.993 in Rawhide:

    • Try harder to check for symlinks on Windows by stealing some code from Win32:: (GH#36)

Local Packages

  • Updated perl-File-Find-Object: to 0.3.7 as per the Fedora version

  • Updated perl-Test-File to 1.993 as per the Fedora version

  • Updated perl-Type-Tiny to 2.002000:

  • Bug Fixes
    • Avoid uninitialized warnings when creating a union between an Enum type and a non-Enum type

    • When Foo is a parameterized StrMatch type, ensure is_Foo always returns a single boolean value, even in list context

  • Packaging
    • Depend on Exporter::Tiny 1.006000, which offers lexical export support for older versions of Perl, provided Lexical::Sub is installed

  • Documentation
    • Clearer documentation of Types::TypeTiny::to_TypeTiny

    • Typo fix in Type::Tiny::Manual::UsingWithMoo

    • Update NEWS

    • Update copyright dates to 2023
  • Test Suite
    • No longer report Type::Tie version at start of test suite, as Type::Tie is now bundled

    • Test 't/20-modules/Type-Tiny-Enum/exporter_lexical.t' will now run on older versions of Perl, provided Lexical::Sub is installed

  • Other
    • Added: Type::Library now has an undocumented, but tested and hopefully stable '_remove_type' method

    • Added: Type::Tiny now has a 'definition_context' attribute/method indicating the file and line number where a type constraint was first defined

    • The list of packages Type::Tiny considers to be 'internal' has been moved from Error::TypeTiny to Type::Tiny

    • Type::Tiny will now mark particular parts of its guts as readonly; currently this is mainly used to prevent people pushing to and popping from type constraints that overload '@{}'

    • Type::Library will better detect if two types result in functions with the same name

    • Type::Tiny::XS will now provide XS implementations of some parameterized ArrayLike/HashLike types

    • When importing 'use Type::Library -util', Type::Library will now pass some relevant import options to Type::Utils

    • If Type::Params signatures receives multiple unrecognized named arguments, the error message now lists them using Type::Utils::english_list() instead of just joining them with commas; this means that the error message will include 'and' before the last unrecognized named argument (if Type::Tiny::AvoidCallbacks is set to true while the signature is compiled, the old behaviour will be retained)

    • Type::Params no longer attempts to figure out the maximum number of expected arguments to functions that take key-value pairs; this allows 'yourfunc(y=>1,y=>2)' to behave more intuitively, with the function just seeing the second value for 'y', instead of it throwing an exception complaining about too many arguments


Recent