Commit Graph

25 Commits

Author SHA1 Message Date
Paul Howarth 675e6769bc Update to 0.48
- New upstream release 0.48
  - Importing types into a class that inherited from another class that had
    imported types wouldn't work, leaving the child class with no 't()' sub
2022-06-12 14:17:15 +01:00
Paul Howarth 0d186339fa Update to 0.47
- New upstream release 0.47
  - Change Specio constraint object's stringification overloading to return the
    type name rather than the default Perl object stringification, which gives
    you something like
    "Specio::Constraint::Parameterized=HASH(0x564d258efb48)"; anonymous are
    special cased to return something you can print
  - All types now overload the 'eq' comparison operator: Moose expects types to
    be comparable in this manner when doing role summation (GH#18)
2021-01-31 12:29:36 +00:00
Paul Howarth 6f92e6c5a4 Update to 0.46
- New upstream release 0.46
  - Correct license of Specio::PartialDump (GH#17)
2020-03-15 10:07:27 +00:00
Paul Howarth 2693ce8a41 Update to 0.45
- New upstream release 0.45
  - Made XString a prereq if installing with Perl 5.10+
2019-11-25 19:59:42 +00:00
Paul Howarth 62b9138893 Update to 0.44
- New upstream release 0.44
  - Replaced the use of B with XString if it is installed; the latter is much
    smaller and provides the one subroutine from B we cared about (based on
    GH#15)
- Use %{make_build} and %{make_install}
2019-08-15 11:04:04 +01:00
Paul Howarth b18390bf98 Update to 0.43
- New upstream release 0.43
  - Optimized compile-time operations to make Specio itself quicker to load;
    Specio's load time is a non-trivial part of the load time of DateTime (and
    presumably other things that use it)
  - Based on https://github.com/houseabsolute/DateTime.pm/issues/85
- Package new CODE_OF_CONDUCT.md file
2018-10-28 16:14:34 +00:00
Paul Howarth 102b34f3bd Update to 0.42
- New upstream release 0.42
  - Fixed checks for whether a class is loaded in light of upcoming
    optimization in Perl 5.28 (GH#12)
  - The Perl library claimed it provided types named LaxVersionStr and
    StrictVersionStr but they were really named LaxVersion and StrictVersion;
    the names have now been fixed to match the documentation, so they are
    LaxVersionStr and StrictVersionStr
2017-11-06 18:27:17 +00:00
Paul Howarth e56f1552ab Update to 0.40
- New upstream release 0.40
  - Fixed more bugs with {any,object}_{can,does,isa}_type
    - When passed a glob (not a globref) they would die in their type check
    - On Perl 5.16 or earlier, passing a number to an any_* type would also die
  - Fixed subification overloading: if Sub::Quote was loaded, this would be
    used, but any environment variables needed for the closure would not be
    included, which broke enums, among other things
2017-08-04 10:30:58 +01:00
Paul Howarth 4edb746252 Update to 0.39
- New upstream release 0.39
  - Many bug fixes and improvements to the types created by
    {any,object}_{can,does,isa}_type; in some cases, an invalid value could
    cause an exception in type check itself, and in other cases, a value that
    failed a type check would cause an exception when generating a message
    describing the failure
  - The messages describing a failure for all of these types have been improved
  - You can now create anonymous *_does and *_isa types using the exports from
    Specio::Declare
2017-08-03 11:57:42 +01:00
Paul Howarth 67a6b92ac1 Update to 0.38
- New upstream release 0.38
  - Simplify checks for overloading to not call overload::Overloaded(); just
    checking the return value of overload::Method() is sufficient
2017-07-01 18:34:32 +01:00
Paul Howarth 0aa67d4f41 Update to 0.37
- New upstream release 0.37
  - Possible fix for very weird failures seen under threaded Perls with some
    modules that use Specio
2017-05-09 20:33:21 +01:00
Paul Howarth 30d145eb7b Update to 0.36
- New upstream release 0.36
  - Inlined coercions would attempt to coerce for every type that matched the
    value given, instead of stopping after the first type (GH#11)
  - Inlined coercions did not include the inline environment variables needed
    by the type from which the coercion was being performed (GH#8)
  - When you use the same type repeatedly as coderef (for example, as a
    constraint with Moo), it will only generate its subified form once, rather
    than regenerating it each time it is de-referenced
  - Added an API to Specio::Subs to allow you to combine type libraries and
    helper subs in one package for exporting; see the Specio::Exporter docs for
    more detail
2017-02-20 11:02:08 +00:00
Paul Howarth 2c00eaf8b5 Update to 0.35
- New upstream release 0.35
  - Added Specio::Subs, a module that allows you to turn one or more library's
    types into subroutines like is_Int() and to_Int()
  - Added an inline_coercion method to Specio constraints
2017-02-13 10:23:38 +00:00
Paul Howarth 5ddcb5d647 Update to 0.34
- New upstream release 0.34
  - Packages with Specio::Exporter can now specify additional arbitrary subs to
    exporter; see the Specio::Exporter docs for details
  - Importing the same library twice in a given package would throw an
    exception; the second attempt to import is now ignored
2017-01-30 11:38:42 +00:00
Paul Howarth 5d65e3ba4a Update to 0.33
- New upstream release 0.33
  - Fixed a mistake in the SYNOPSIS for Specio::Declare; the example for the
  - *_isa_type helpers was not correct
  - Removed the alpha warning from the docs; this is being used by enough of my
    modules on CPAN that I don't plan on doing any big breaking changes without
    a deprecation first
2017-01-25 11:57:10 +00:00
Paul Howarth fe4668d1d8 Update to 0.32
- New upstream release 0.32
  - Fixed a bug in the inlining for types create by any_can_type() and
    object_can_type(); this inlining mostly worked by accident because of some
    List::Util XS magic, but this broke under the debugger (GH#17,
    https://github.com/houseabsolute/DateTime.pm/issues/49)
2017-01-13 10:05:56 +00:00
Paul Howarth 3cbfb70ff9 Update to 0.31
- New upstream release 0.31
  - The stack trace contained by Specio::Exception objects no longer includes
    stack frames for the Specio::Exception package
  - Made the inline_environment() and description() methods public on type and
    coercion objects
2016-11-07 09:31:51 +00:00
Paul Howarth 5fe1a9fd14 Update to 0.30
- New upstream release 0.30
  - Fix a bug with the Sub::Quoted sub returned by $type->coercion_sub; if a
    type had more than one coercion, the generated sub could end up coercing
    the value to undef some of the time and, depending on hash key ordering,
    this could end up being a heisenbug that only occured some of the time
2016-10-16 12:11:38 +01:00
Paul Howarth 2c72e97d22 Update to 0.29
- New upstream release 0.29
  - Document Specio::PartialDump because you may want to use it as part of the
    failure message generation code for a type
2016-10-10 13:59:00 +01:00
Paul Howarth bea92ed259 Update to 0.28
- New upstream release 0.28
  - Added a Test::Specio module to provide helpers for testing Specio libraries
  - Fixed another bug with a subtype of special types and inlining
- Introduce sub-package perl-Test-Specio to avoid dependencies on Test::Fatal
  and Test::More in main package
2016-10-03 11:51:56 +01:00
Paul Howarth 7d05dc8b1f Update to 0.27
- New upstream release 0.27
  - Cloning a type with coercions defined on it would cause an exception
  - Creating a subtype of a special type created by *_isa_type, *_can_type, or
    *_does_type, or enum would die when trying to inline type constraint
  - Removed the never-documented Any type
  - Added documentation for each type in Specio::Library::Builtins
2016-10-02 11:19:47 +01:00
Paul Howarth ec2fe5966a Update to 0.26
- New upstream release 0.26
  - Require Role::Tiny 1.003003, which should fix some test failures
2016-09-26 11:16:21 +01:00
Paul Howarth 9c5205754e Update to 0.25
- New upstream release 0.25
  - Calling {any,object}_{isa,does}_type repeatedly in a package with the same
    class or role name would die; these subs are now special-cased to simply
    return an existing type for the given name when they receive a single
    argument (the name of the class or role)
2016-09-05 09:24:20 +01:00
Paul Howarth 4ae4d0b2b2 Initial import (perl-Specio-0.24-2)
The Specio distribution provides classes for representing type constraints
and coercion, along with syntax sugar for declaring them.

Note that this is not a proper type system for Perl. Nothing in this
distribution will magically make the Perl interpreter start checking a value's
type on assignment to a variable. In fact, there's no built-in way to apply a
type to a variable at all.

Instead, you can explicitly check a value against a type, and optionally coerce
values to that type.
2016-07-22 16:10:25 +01:00
Fedora Release Engineering bd587bcd60 Initial setup of the repo 2016-07-22 13:19:31 +00:00