# phpman > info > Type::Tiny::Role

[Type::Tiny](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny/markdown)::[Role(3pm)](https://www.chedong.com/phpMan.php/man/Role/3pm/markdown) User Contributed Perl [DocumentationType::Tiny](https://www.chedong.com/phpMan.php/perldoc/DocumentationType%3A%3ATiny/markdown)::[Role(3pm)](https://www.chedong.com/phpMan.php/man/Role/3pm/markdown)

NAME
       [Type::Tiny::Role](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny%3A%3ARole/markdown) - type constraints based on the "DOES" method

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

DESCRIPTION
       Type constraints of the general form "{ $_->DOES("[Some::Role](https://www.chedong.com/phpMan.php/perldoc/Some%3A%3ARole/markdown)") }".

       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
       "role"
           The role for the constraint.

           Note that this package doesn't subscribe to any particular flavour
           of roles ([Moose::Role](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3ARole/markdown), [Mouse::Role](https://www.chedong.com/phpMan.php/perldoc/Mouse%3A%3ARole/markdown), [Moo::Role](https://www.chedong.com/phpMan.php/perldoc/Moo%3A%3ARole/markdown), [Role::Tiny](https://www.chedong.com/phpMan.php/perldoc/Role%3A%3ATiny/markdown), etc). It
           simply trusts the object's "DOES" method (see UNIVERSAL).

       "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"
           Parent is always [Types::Standard::Object](https://www.chedong.com/phpMan.php/perldoc/Types%3A%3AStandard%3A%3AObject/markdown), and cannot be passed to
           the constructor.

   Methods
       "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).

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

       [Moose::Meta::TypeConstraint::Role](https://www.chedong.com/phpMan.php/perldoc/Moose%3A%3AMeta%3A%3ATypeConstraint%3A%3ARole/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.

perl v5.32.1                      2021-08-31             [Type::Tiny](https://www.chedong.com/phpMan.php/perldoc/Type%3A%3ATiny/markdown)::[Role(3pm)](https://www.chedong.com/phpMan.php/man/Role/3pm/markdown)
