Moose::Meta::Role::Composite(3) User Contributed Perl Documentation Moose::Meta::Role::Composite(3)

# [DESCRIPTION](#DESCRIPTION)

A composite is a role that consists of a set of two or more roles.

The API of a composite role is almost identical to that of a regular role.

# [INHERITANCE](#INHERITANCE)

"Moose::Meta::Role::Composite" is a subclass of Moose::Meta::Role.

# [METHODS](#METHODS)

## [Moose::Meta::Role::Composite-&gt;new(%options)](#Moose::Meta::Role::Composite)

This returns a new composite role object. It accepts the same options as its parent class, with a few changes:

- roles
  
  This option is an array reference containing a list of Moose::Meta::Role object. This is a required option.
- name
  
  If a name is not given, one is generated from the roles provided.
- apply\_params(\\%role\_params)
  
  Creates a new RoleSummation role application with %role\_params and applies the composite role to it. The RoleSummation role application class used is determined by the composite role's "application\_role\_summation\_class" attribute.
- reinitialize($metaclass)
  
  Like "Class::MOP::Package-&gt;reinitialize", but doesn't allow passing a string with the package name, as there is no real package for composite roles.

# [BUGS](#BUGS)

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

2026-10-01 perl v5.44.0

---

Document: Moose::Meta::Role::Composite(3pm) from perl-moose 2.4001-r0 (Chainguard OS)
Source: https://github.com/moose/Moose
