# phpman > perldoc > Type::Tiny::Union

## NAME
    [Type::Tiny::Union](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny%3A%3AUnion/markdown) - union type constraints

## STATUS
    This module is covered by the Type-Tiny stability policy.

## DESCRIPTION
    Union type constraints.

    This package inherits from [Type::Tiny](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny/markdown); see that for most documentation. Major differences are
    listed below:

### Attributes
    "type_constraints"
        Arrayref of type constraints.

        When passed to the constructor, if any of the type constraints in the union is itself a
        union type constraint, this is "exploded" into the new union.

    "constraint"
        Unlike [Type::Tiny](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny/markdown), you *cannot* pass a constraint coderef to the constructor. Instead rely
        on the default.

    "inlined"
        Unlike [Type::Tiny](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny/markdown), you *cannot* pass an inlining coderef to the constructor. Instead rely on
        the default.

    "parent"
        Unlike [Type::Tiny](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny/markdown), you *cannot* pass an inlining coderef to the constructor. A parent will
        instead be automatically calculated.

    "coercion"
        You probably do not pass this to the constructor. (It's not currently disallowed, as there
        may be a use for it that I haven't thought of.)

        The auto-generated default will be a [Type::Coercion::Union](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ACoercion%3A%3AUnion/markdown) object.

### Methods
    "find_type_for($value)"
        Returns the first individual type constraint in the union which $value passes.

    "stringifies_to($constraint)"
        See [Type::Tiny::ConstrainedObject](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny%3A%3AConstrainedObject/markdown).

    "numifies_to($constraint)"
        See [Type::Tiny::ConstrainedObject](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny%3A%3AConstrainedObject/markdown).

    "with_attribute_values($attr1 => $constraint1, ...)"
        See [Type::Tiny::ConstrainedObject](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny%3A%3AConstrainedObject/markdown).

### Overloading
    *   Arrayrefification calls "type_constraints".

## BUGS
    Please report any bugs to <<https://github.com/tobyink/p5-type-tiny/issues>>.

## SEE ALSO
    [Type::Tiny::Manual](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny%3A%3AManual/markdown).

    [Type::Tiny](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny/markdown).

## AUTHOR
    Toby Inkster <<tobyink@cpan.org>>.

## COPYRIGHT AND LICENCE
    This software is copyright (c) 2013-2014, 2017-2021 by Toby Inkster.

    This is free software; you can redistribute it and/or modify it under the same terms as the Perl
    5 programming language system itself.

## 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.

