MooseX::NonMoose::Meta::Role::Class(3) User Contributed Perl Documentation MooseX::NonMoose::Meta::Role::Class(3)

# [SYNOPSIS](#SYNOPSIS)

```
  package Foo;
  use Moose -traits => 'MooseX::NonMoose::Meta::Role::Class';
  # or
  package My::Moose;
  use Moose ();
  use Moose::Exporter;
  Moose::Exporter->setup_import_methods;
  sub init_meta {
      shift;
      my %options = @_;
      Moose->init_meta(%options);
      Moose::Util::MetaRole::apply_metaclass_roles(
          for_class       => $options{for_class},
          metaclass_roles => ['MooseX::NonMoose::Meta::Role::Class'],
      );
      return Moose::Util::find_meta($options{for_class});
  }
```

# [DESCRIPTION](#DESCRIPTION)

This trait implements everything involved with extending non-Moose classes, other than doing the actual inlining at "make\_immutable" time. See MooseX::NonMoose for more details.

2026-08-20 perl v5.44.0

---

Document: MooseX::NonMoose::Meta::Role::Class(3pm) from perl-moosex-nonmoose 0.27-r0 (Chainguard OS)
Source: https://github.com/uperl/MooseX-NonMoose
