Dave Rolsky [Sun, 14 Sep 2008 21:21:42 +0000]
Doc check_metaclass_compatibility
Dave Rolsky [Sun, 14 Sep 2008 21:20:23 +0000]
superclasses expects an array, not a reference.
Dave Rolsky [Sun, 14 Sep 2008 21:11:32 +0000]
Weaken anon class metaclasses after updating them in the CMOP cache.
Dave Rolsky [Sun, 14 Sep 2008 21:04:16 +0000]
Simply fix metaclass incompat before we check if it is compat.
This fixes various weird edge cases where a metaclass object is
created and is not compat with the parent's metaclass. In particular,
this fixes the case where a class applied traits to its metaclass, and
some other class subclasses it via "use base" and not extends.
Dave Rolsky [Sun, 14 Sep 2008 02:58:49 +0000]
Add description for metaclass incompat changes.
Dave Rolsky [Sun, 14 Sep 2008 02:57:06 +0000]
These tests pass now
Dave Rolsky [Sun, 14 Sep 2008 02:56:06 +0000]
Add comment on my voodoo line which makes all my tests pass
Dave Rolsky [Sun, 14 Sep 2008 02:48:21 +0000]
There's no need for _fix_metaclass_compatibility to return anything,
it can just alter the reference in place.
Dave Rolsky [Sun, 14 Sep 2008 02:41:57 +0000]
Test that the metaclass role we apply for My::Class10 is actually applied
Dave Rolsky [Sun, 14 Sep 2008 02:17:54 +0000]
Fix typo in test description
Dave Rolsky [Sat, 13 Sep 2008 04:16:34 +0000]
More metaclass compatibility handling.
When creating a new class, fix its metaclass compatibility as well as
when extends is called. This means that classes created via
Moose::Util::MetaRole (aka new metaclasses) have their metaclass
compatibility fixed. Sounds crazy, but it basically lets combine
modules which give the caller a new metaclass (like Fey::ORM::Table)
and modules which then apply roles to the caller's metaclass (like
MX::ClassAttribute).
And hey, there's tests.
Dave Rolsky [Sat, 13 Sep 2008 03:26:23 +0000]
Fix the spelling of compatibility in here too.
Dave Rolsky [Sat, 13 Sep 2008 02:40:48 +0000]
Oops, left in a conflict marker
Dave Rolsky [Sat, 13 Sep 2008 02:38:16 +0000]
merge trunk to method-changes branch
Dave Rolsky [Fri, 12 Sep 2008 22:39:20 +0000]
On further examination, this test is bogus. If you subclass a Moose
class via "use base" and not "extends", you don't get to complain that
Moose finds a metaclass incompatibility. When you call "extends" Moose
explicitly fixes said incompatibility.
Dave Rolsky [Fri, 12 Sep 2008 22:36:04 +0000]
The super-duper fix metaclass update.
Basically, this implements the whole "if two classes differ by roles,
reconcile the roles" algorithm.
Along the way, this also fixes some bugs in
_fix_metaclass_compatibility, where it could lose things like roles on
a metaclass's attribute metaclass if the parent class's metaclass was
a subclass of said metaclass (ugh, this is hard to talk about).
Dave Rolsky [Fri, 12 Sep 2008 15:34:07 +0000]
Update changes with credit for latest bug fix
Dave Rolsky [Fri, 12 Sep 2008 15:33:41 +0000]
Do not unimport functions which we explicitly re-export by reference
as-is. This means that Moose _always_ gives you Carp::confess,
Scalar::Util::blessed, etc.
Dave Rolsky [Fri, 12 Sep 2008 02:56:26 +0000]
Make backwards incompatibility clear in changes
Dave Rolsky [Thu, 11 Sep 2008 20:39:22 +0000]
Actually implement associated_attribute for delegation methods, and
test it.
Add docs for Moose::Meta::Method::Delegation.
Dave Rolsky [Thu, 11 Sep 2008 20:36:13 +0000]
Update changes for this branch
Dave Rolsky [Thu, 11 Sep 2008 20:31:36 +0000]
Add Moose::Meta::Method::Delegation and use it for delegation methods
Dave Rolsky [Thu, 11 Sep 2008 20:19:12 +0000]
No more alias_method for roles either. This meant more or less copying
the latest changes in CMOP::Class->add_method to Moose::Meta::Role.
Now roles add methods via add_method, which clones method objects as
needed. Added tests for this cloning and making sure we can track the
history of a method through any roles it's been in.
Dave Rolsky [Thu, 11 Sep 2008 19:53:38 +0000]
One of our todo methods here now passes, because Moose::Meta::Role::Method isa Moose::Meta::Method
Dave Rolsky [Thu, 11 Sep 2008 19:49:44 +0000]
Make docs match reality
Dave Rolsky [Thu, 11 Sep 2008 19:49:26 +0000]
Make this class subclass Moose::Meta::Method, which keeps things saner.
Dave Rolsky [Thu, 11 Sep 2008 16:44:20 +0000]
This branch will include several changes:
* Tracking the source of all methods added from roles (via method cloning)
* Added a Delegation method class for delegated methods
* Finally, changing _fix_metaclass_compatibility to use the source
tracking to implement the "if metaclasses differ by roles, reconcile
the roles" algorithm.
Dave Rolsky [Thu, 11 Sep 2008 13:48:05 +0000]
Skip these tests for now (hopefully this will get fixed in a near-future release)
Shawn M Moore [Thu, 11 Sep 2008 06:39:57 +0000]
Add a failing test for the following construct, which explodes due to metaclass incompatibility:
package Parent;
use Moose -traits => ...;
package Child;
use base 'Parent';
Dave Rolsky [Mon, 8 Sep 2008 17:21:13 +0000]
Add some tests for the error handling in Moose::Object, and fix a bug
I found which motivated said tests.
Dave Rolsky [Mon, 8 Sep 2008 14:42:05 +0000]
Add a plan and tidied the code a little
Yuval Kogman [Sun, 7 Sep 2008 23:18:15 +0000]
fix errorneous planning (no_plan doesn't take args)
Yuval Kogman [Sun, 7 Sep 2008 23:17:35 +0000]
fix errorneous planning (no_plan doesn't take args)
Matt Kraai [Fri, 5 Sep 2008 13:55:19 +0000]
Add a missing "a" to Moose::Intro.
Dave Rolsky [Thu, 4 Sep 2008 21:35:50 +0000]
Add an example of delegation too.
Dave Rolsky [Thu, 4 Sep 2008 21:13:23 +0000]
Turn on coercion for birth_date
Dave Rolsky [Thu, 4 Sep 2008 18:00:32 +0000]
Fix links to role recipes
Paul Driver [Thu, 4 Sep 2008 14:06:56 +0000]
Matt Kraai's spelling fixes for Moose::Intro
Yuval Kogman [Thu, 4 Sep 2008 02:00:59 +0000]
Moose::throw_error -> Moose->throw_error
Yuval Kogman [Thu, 4 Sep 2008 02:00:17 +0000]
foo
Yuval Kogman [Thu, 4 Sep 2008 01:47:36 +0000]
Merge branch 'pluggable_errors'
Yuval Kogman [Thu, 4 Sep 2008 01:38:59 +0000]
Merge ../Moose-error into pluggable_errors
Yuval Kogman [Thu, 4 Sep 2008 01:34:34 +0000]
Merge ../Moose-error into pluggable_errors
Yuval Kogman [Thu, 4 Sep 2008 00:51:52 +0000]
Merge ../Moose-error into pluggable_errors
Dave Rolsky [Thu, 4 Sep 2008 00:36:00 +0000]
Tweak the extending text a little
Dave Rolsky [Thu, 4 Sep 2008 00:34:52 +0000]
Be more consistent in styling and wording of definitions
Dave Rolsky [Thu, 4 Sep 2008 00:32:52 +0000]
Mention extensibility of Moose too
Yuval Kogman [Thu, 4 Sep 2008 00:07:33 +0000]
merge trunk to pluggable errors
Yuval Kogman [Thu, 4 Sep 2008 00:01:49 +0000]
bah
Dave Rolsky [Wed, 3 Sep 2008 18:39:57 +0000]
add new pod to the manifest
Dave Rolsky [Wed, 3 Sep 2008 17:16:42 +0000]
bump version and update changes for release later today (I hope)
Dave Rolsky [Wed, 3 Sep 2008 16:57:58 +0000]
Add changes for latest bug fix
Dave Rolsky [Wed, 3 Sep 2008 16:57:13 +0000]
Actually track exactly what coderefs we export by stringified name,
and then in unimport only clean if that stringified name
matches. Previously, we relied on Sub::Name actually being present,
which is not guaranteed.
Dave Rolsky [Wed, 3 Sep 2008 16:55:36 +0000]
Fix test count
Dave Rolsky [Wed, 3 Sep 2008 16:55:16 +0000]
We need the evals here to force this stuff to happen at run time, but
we should just do if the eval fails.
Dave Rolsky [Wed, 3 Sep 2008 16:46:57 +0000]
All these evals do is hide when Moose or some other module has a syntax error.
Dave Rolsky [Wed, 3 Sep 2008 15:46:15 +0000]
Clarify that there's just one intentional bug
Dave Rolsky [Wed, 3 Sep 2008 15:45:14 +0000]
$self should be %self if we use map like that
Dave Rolsky [Wed, 3 Sep 2008 15:44:08 +0000]
Redo changes for jnapiorkowski's TC change
Dave Rolsky [Wed, 3 Sep 2008 15:42:39 +0000]
Cosmetic changes (mostly from perltidy).
John Napiorkowski [Wed, 3 Sep 2008 15:41:36 +0000]
updated changes file
Matt S Trout [Wed, 3 Sep 2008 15:28:50 +0000]
fix types with stringifyable TC objects
Dave Rolsky [Wed, 3 Sep 2008 15:04:27 +0000]
add mention of BUILD in Intro
Dave Rolsky [Wed, 3 Sep 2008 05:27:36 +0000]
Fix coercions
Dave Rolsky [Wed, 3 Sep 2008 04:02:46 +0000]
Be consistent in terms of first/second person
Dave Rolsky [Wed, 3 Sep 2008 04:01:31 +0000]
Update changes with the new docs.
Dave Rolsky [Wed, 3 Sep 2008 03:59:21 +0000]
Add Moose::Unsweetened, parallel examples of classes with & without
Moose.
Dave Rolsky [Wed, 3 Sep 2008 03:24:45 +0000]
Fix a code goofup. Add a link to Moose::Unsweetened.
Dave Rolsky [Wed, 3 Sep 2008 02:35:07 +0000]
Fix attribute name
Dave Rolsky [Wed, 3 Sep 2008 02:33:33 +0000]
Rename delegation to make it more distinct
Dave Rolsky [Wed, 3 Sep 2008 02:26:07 +0000]
Add a definition for immutabilization, and a WHAT NEXT section
pointing people at the Cookbook.
Dave Rolsky [Wed, 3 Sep 2008 02:22:10 +0000]
More wordsmithing, general cleanup, speling fixes, examples, and so on.
Jesse Vincent [Wed, 3 Sep 2008 00:01:47 +0000]
i* Added the first version of rough notes on how MooseX::Compile is to
work in the form of an IRC conversation with yuval
Dave Rolsky [Tue, 2 Sep 2008 23:52:51 +0000]
The new Moose::Intro.
Dave Rolsky [Tue, 2 Sep 2008 22:10:06 +0000]
I figure I can reasonably add my name here now.
Dave Rolsky [Tue, 2 Sep 2008 22:09:38 +0000]
Moving justification to Moose::Intro too. Also removed the caveat
about combining extensions, we do have good ways to do that now
(mostly).
Dave Rolsky [Tue, 2 Sep 2008 22:06:00 +0000]
Cut out some extending junk which is better covered in the recipes.
Add a link to the soon-to-be-written Moose::Intro
Dave Rolsky [Tue, 2 Sep 2008 17:23:22 +0000]
Doc constructor_class & destructor_class accessors
Dave Rolsky [Tue, 2 Sep 2008 16:10:47 +0000]
Add some examples of object construction to the synopsis, since this
is pretty important, and shouldn't be buried most of the way down the
text.
Paul Driver [Tue, 2 Sep 2008 14:48:23 +0000]
Another spelling error. Pedantic, ain't it?
Paul Driver [Tue, 2 Sep 2008 14:40:23 +0000]
Tiny little spelling error in Moose::Cookbook::Extending::Recipe1
Dave Rolsky [Mon, 1 Sep 2008 22:41:56 +0000]
Handle the case where $instance ends up resolving to a class name, not
an object, in _inline_check_lazy.
This is a bit of a hack, but the whole immutable thing is a giant
hack, so I don't think it's too bad.
Alternately, we could add a new _inline_class_name method and just
call that, and I could override it for class attributes.
Dave Rolsky [Mon, 1 Sep 2008 22:37:55 +0000]
Pass the invocant name to _inline_check_lazy for consistency (also
makes my class attribute work saner)
Dave Rolsky [Mon, 1 Sep 2008 21:09:07 +0000]
Split out calling an attribute's builder into its own private method.
A) This is a nice refactor.
B) It makes subclassing easier, and I need it for MX::ClassAttribute.
Dave Rolsky [Mon, 1 Sep 2008 16:33:59 +0000]
bump version to 0.56 and update changes for release
Dave Rolsky [Mon, 1 Sep 2008 16:21:00 +0000]
Remove references to
Moose::Meta::Role::Application::ToMetaclassInstance which was
obsoleted by MU::MetaRole.
Dave Rolsky [Mon, 1 Sep 2008 16:15:40 +0000]
require stable MOP 0.65
Dave Rolsky [Sun, 31 Aug 2008 03:57:05 +0000]
update MANIFEST - seriously, why is this in source control?
Dave Rolsky [Sun, 31 Aug 2008 03:56:34 +0000]
bump version to 0.55_04
Dave Rolsky [Sun, 31 Aug 2008 03:55:14 +0000]
merge meta-role-helper branch and update changes
Dave Rolsky [Sun, 31 Aug 2008 03:44:24 +0000]
recipe was missing a number
Dave Rolsky [Sun, 31 Aug 2008 03:43:05 +0000]
merge trunk to meta-role-helper branch
Jonathan Rockway [Sat, 30 Aug 2008 20:23:55 +0000]
use the mathematical definition of "natural number" for the TC example in the POD
Shawn M Moore [Sat, 30 Aug 2008 03:08:33 +0000]
Don't load in Data::Dumper (we don't even use it here!)
Dave Rolsky [Sat, 30 Aug 2008 01:57:15 +0000]
Fix the MOP dep so it actually registers
Dave Rolsky [Sat, 30 Aug 2008 01:56:27 +0000]
bump the version to 0.55_03
Dave Rolsky [Sat, 30 Aug 2008 01:55:55 +0000]
Add changes for 0.55_03
Dave Rolsky [Sat, 30 Aug 2008 01:55:23 +0000]
bump the Class::MOP dep to 0.64_07
Dave Rolsky [Fri, 29 Aug 2008 18:46:23 +0000]
merge trunk to meta-role-helper branch
Dave Rolsky [Fri, 29 Aug 2008 18:44:17 +0000]
When we reinitialize from the super meta class, we need to also reset
constructor & destructor class from the super's meta.