.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Type::Tiny::Manual::Policies 3" .TH Type::Tiny::Manual::Policies 3 2024-09-01 "perl v5.40.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Type::Tiny::Manual::Policies \- Type::Tiny policies .SH MANUAL .IX Header "MANUAL" .SS "Type::Tiny Stability Policy" .IX Subsection "Type::Tiny Stability Policy" Type::Tiny 1.000000+ is considered stable. Any changes to the API that are big enough to \fIrequire\fR changes to the test suite will be preceded by a \fIsix month\fR notice period, with the following exceptions: .IP \(bu 4 Any changes which are necessary to maintain compatibility with new releases of Moose, Moo, and other software that Type::Tiny needs to integrate with. .IP \(bu 4 Changes to maintain compatibility with future versions of Perl itself. .IP \(bu 4 Where a change fixes a contradiction between the implementation and documentation of Type::Tiny. .IP \(bu 4 Where a feature is explicitly documented as being "experimental" or "unstable". .IP \(bu 4 Improvements to the text of error messages. .SS "Experimental and Unstable Type::Tiny Features" .IX Subsection "Experimental and Unstable Type::Tiny Features" The following list is currently non-exhaustive. .IP \(bu 4 The following type checks result may vary based on your version of Perl and whether Type::Tiny::XS is installed. Their outcome is currently considered undefined, and may change in future versions. .RS 4 .IP \(bu 4 Using \fBObject\fR and similar type checks on unblessed regular expression references, the outcome is undefined. .IP \(bu 4 On all current versions of Perl, false (\f(CW\*(C`!!0\*(C'\fR) stringifies to the empty string (but using Devel::Peek you can tell the difference between this value and a normal empty string), so \fBInt\fR and subtypes of \fBInt\fR do not consider it to be an integer. If Perl's behaviour ever changes, you might not be able to rely on this outcome. True (\f(CW\*(C`!!1\*(C'\fR) stringifies as "1", so is considered an integer. .IP \(bu 4 A glob (not a globref but an actual glob) currently passes the \&\fBStringLike\fR type constraint but not the \fBStr\fR type constraint. .IP \(bu 4 The \fBBoolLike\fR type is intended to extend \fBBool\fR to cover overloaded boolean objects, but the exact mechanism it uses may change. .RE .RS 4 .RE .IP \(bu 4 Type::Tiny's \f(CW\*(C`my_methods\*(C'\fR attribute and the functionality it provides is experimental. .IP \(bu 4 The parameterizable coercion API is subject to change. .IP \(bu 4 The interaction of deep coercions and mutable coercions currently results in ill-defined behaviour. This could change at any time. .IP \(bu 4 Type::Registry's ability to import MooseX::Types and MouseX::Types type libraries is experimental. .IP \(bu 4 These modules are considered part of Type::Tiny's internals, and not covered by the stability policy: Devel::TypeTiny::Perl58Compat, Type::Coercion::FromMoose, Type::Params::Alternatives, Type::Params::Parameter, Type::Params::Signature, Type::Tiny::_HalfOp, Types::Standard::ArrayRef, Types::Standard::CycleTuple, Types::Standard::Dict, Types::Standard::HashRef, Types::Standard::Map, Types::Standard::ScalarRef, Types::Standard::StrMatch, Types::Standard::Tied, and Types::Standard::Tuple. .IP \(bu 4 Reply::Plugin::TypeTiny is not covered by the stability policy. .SS "Type::Tiny Versioning Policy" .IX Subsection "Type::Tiny Versioning Policy" As of 1.000000, this distribution follows a versioning scheme similar to Moo, which is based on a semver \-like three component version number, but with the last two components each represented by three decimal digits in the fractional part of the version number. That is, version 1.003002 of the software represents "1.3.2". .PP Additionally, releases where the second component is an odd number will be considered unstable/trial releases. (These will also include an underscore in the version number as per the usual CPAN convention.) .SS "Perl Version Support" .IX Subsection "Perl Version Support" Type::Tiny 0.000_01 to Type::Tiny 0.015_04 required Perl 5.8.1. .PP Type::Tiny 0.015_05+ and Type::Tiny 1.000000+ requires Perl 5.6.1. .PP Type::Tiny 2.000000+ will require Perl 5.8.1. .SH "NEXT STEPS" .IX Header "NEXT STEPS" Here's your next step: .IP \(bu 4 Type::Tiny::Manual::Contributing .Sp Contributing to Type::Tiny development. .SH AUTHOR .IX Header "AUTHOR" Toby Inkster . .SH "COPYRIGHT AND LICENCE" .IX Header "COPYRIGHT AND LICENCE" This software is copyright (c) 2013\-2014, 2017\-2023 by Toby Inkster. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. .SH "DISCLAIMER OF WARRANTIES" .IX Header "DISCLAIMER OF WARRANTIES" THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.