Squashed commit of the following:
authorDave Rolsky <autarch@urth.org>
Mon, 26 Jul 2010 17:56:47 +0000 (12:56 -0500)
committerDave Rolsky <autarch@urth.org>
Mon, 26 Jul 2010 17:56:47 +0000 (12:56 -0500)
commitf6af1028f6d977825235b30a82885ad63b68fbef
treea754cd654fb45245df8bdad74f49af35d1e3d0db
parente5719a51d40661dc4c5ca31bfa1978d1d9b19527
Squashed commit of the following:

commit 8971c228f8023614db46fdb3962872b0cec870c1
Author: Dave Rolsky <autarch@urth.org>
Date:   Mon Jul 26 12:55:53 2010 -0500

    Move changes entry to NEXT

commit f449c3feef8c6529e4285206317f003d890c4d8f
Author: Shawn M Moore <sartak@bestpractical.com>
Date:   Fri Jul 23 23:46:05 2010 -0400

    Changes entry

commit 07bd93af9010bdefce4c97cd01b7144b05356bd9
Author: Shawn M Moore <sartak@bestpractical.com>
Date:   Fri Jul 23 23:09:11 2010 -0400

    Throw an error when enum has a weird argument list

        This protects users against this kind of construct:

            has type => (
                is       => 'rw',
                isa      => enum ['foo', 'bar', 'baz'],
                required => 1,
            );

        This code will NOT do what you want, being parsed like:

            enum(['foo', 'bar', 'baz'], 'required', 1);

        which ends up with an enum named by a stringified array reference
        where the valid values are "required" and "1". And the required-ness
        of the attribute is obviously not intact. So this attribute is
        really FUBAR.

commit cebc707b8c48409852974c92a937aa205754c480
Author: Shawn M Moore <sartak@bestpractical.com>
Date:   Fri Jul 23 22:51:56 2010 -0400

    Move the <2 values error from the sugar into the class

commit c699a721ca06b9a10e3a2dab42a5f3f661e871b7
Author: Shawn M Moore <sartak@bestpractical.com>
Date:   Fri Jul 23 22:38:45 2010 -0400

    Remove useless assignment for enums

commit 898f80e945b938916416449c492904b857268798
Author: Shawn M Moore <sartak@bestpractical.com>
Date:   Fri Jul 23 22:33:34 2010 -0400

    Throw errors when enum values include undef or refs
Changes
lib/Moose/Meta/TypeConstraint/Enum.pm
lib/Moose/Util/TypeConstraints.pm
t/040_type_constraints/015_enum.t