Chris Weyl


MooseX::Util - Moose::Util extensions


This document describes version 0.003 of MooseX::Util - released May 22, 2014 as part of MooseX-Util.


    use MooseX::Util qw{ ensure_all_roles with_traits };

    # profit!


This is a utility module that handles all of the same functions that Moose::Util handles. In fact, most of the functions exported by this package are simply re-exports from Moose::Util, so you're recommended to read the documentation of that module for a comprehensive view.


We've re-implemented a number of the functions our parent provides, for a variety of reasons. Those functions are documented here.


with_traits(<classname> => (<trait1>, ... )

Given a class and one or more traits, we construct an anonymous class that is a subclass of the given class and consumes the traits given. This is exactly the same as "with_traits" in Moose::Util, except that we use "create_anon_class" in MooseX::Util::Meta::Class to construct the anonymous class, rather than "create_anon_class" in Moose::Meta::Class directly.

Essentially, this means that when we do:

    my $anon_class_name = with_traits('Zombie::Catcher', 'SomeTrait');

For $anon_class_name we get:


Rather than:


This is nice because we have an idea of where the first anonymous class came from, whereas the second one could could be from anywhere.


Please see those modules/websites for more information related to this module.


The development version is on github at http:// and may be cloned from git://


Please report any bugs or feature requests on the bugtracker website

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


Chris Weyl <>

I'm a material boy in a material world

Please note I do not expect to be gittip'ed or flattr'ed for this work, rather it is simply a very pleasant surprise. I largely create and release works like this because I need them or I find it enjoyable; however, don't let that stop you if you feel like it ;)

Flattr this, gittip me, or indulge my Amazon Wishlist... If you so desire.


This software is Copyright (c) 2012 by Chris Weyl.

This is free software, licensed under:

  The GNU Lesser General Public License, Version 2.1, February 1999