---
name: "Moose::Meta::TypeConstraint::Registry"
section: "3pm"
platform: "linux"
package: "perl-moose"
version: "2.4001-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Moose::Meta::TypeConstraint::Registry"
---

# Moose::Meta::TypeConstraint::Registry(3pm)

registry for type constraints

## NAME

Moose::Meta::TypeConstraint::Registry - registry for type constraints

## VERSION

version 2.4001

## DESCRIPTION

This class is a registry that maps type constraint names to Moose::Meta::TypeConstraint objects.

Currently, it is only used internally by Moose::Util::TypeConstraints, which creates a single global registry.

## INHERITANCE

`"Moose::Meta::TypeConstraint::Registry"` is a subclass of Class::MOP::Object.

## METHODS

### Moose::Meta::TypeConstraint::Registry-\>new(%options)

This creates a new registry object based on the provided `%options`:

- •

  parent\_registry

  This is an optional Moose::Meta::TypeConstraint::Registry object.

- •

  type\_constraints

  This is hash reference of type names to type objects. This is optional. Constraints can be added to the registry after it is created.

### $registry-\>get\_parent\_registry

Returns the registry's parent registry, if it has one.

### $registry-\>has\_parent\_registry

Returns true if the registry has a parent.

### $registry-\>set\_parent\_registry($registry)

Sets the parent registry.

### $registry-\>get\_type\_constraint($type\_name)

This returns the Moose::Meta::TypeConstraint object from the registry for the given name, if one exists.

### $registry-\>has\_type\_constraint($type\_name)

Returns true if the registry has a type of the given name.

### $registry-\>add\_type\_constraint($type)

Adds a new Moose::Meta::TypeConstraint object to the registry.

### $registry-\>find\_type\_constraint($type\_name)

This method looks in the current registry for the named type. If the type is not found, then this method will look in the registry's parent, if it has one.

## BUGS

See "BUGS" in Moose for details on reporting bugs.

## AUTHORS

- •

  Stevan Little \<stevan@cpan.org\>

- •

  Dave Rolsky \<autarch@urth.org\>

- •

  Jesse Luehrs \<doy@cpan.org\>

- •

  Shawn M Moore \<sartak@cpan.org\>

- •

  יובל קוג'מן (Yuval Kogman) \<nothingmuch@woobling.org\>

- •

  Karen Etheridge \<ether@cpan.org\>

- •

  Florian Ragwitz \<rafl@debian.org\>

- •

  Hans Dieter Pearcey \<hdp@cpan.org\>

- •

  Chris Prather \<chris@prather.org\>

- •

  Matt S Trout \<mstrout@cpan.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2006 by Infinity Interactive, Inc.

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