Store the role which first defines an attribute, and pass that along when cloning.
[gitmo/Moose.git] / TODO
diff --git a/TODO b/TODO
index c355d70..c933e28 100644 (file)
--- a/TODO
+++ b/TODO
@@ -83,10 +83,6 @@ returns an attribute vs a name, that needs to be clear from the method
 name. We also need to make sure that local vs. "entire inheritance
 chain" is clear from the name.
 
-Finally, kill all the public get_X_map methods. The hashref it returns
-is the internal reference, and the fact that it _is_ a hashref is just
-an implementation detail.
-
 This is mostly a CMOP change.
 
 - Metaclass constructors
@@ -120,22 +116,20 @@ refactored so it's a thin sugar layer on top of the meta API. As it
 stands now, it does things like parse type names (and determine if
 they're valid), manage the registry, and much more.
 
-- Moose::Meta::Role::Application::*
-
-These class names are hardcoded throughout Moose, making replacing
-them very difficult.
-
-- Moose::Meta::Role & attributes
-
-The way a role stores attributes is nasty and not very
-introspectable. It should store some sort of object, possibly one that
-knows how to turn itself into a "real" attribute.
-
 - Anything with a _(meta)?class method
 
 Every method that returns a class name needs to become a rw attribute
 that can be set via the constructor.
 
+- The Moose::Error stuff
+
+This is sort of half-implemented. We still use Carp directly, and the
+internals can't decide how to throw an error (is it
+Moose->throw_error, __PACKAGE__->throw_error, what?).
+
+The internals need to be made consistent before we expose this to the
+rest of the world.
+
 -------------------------------------------------------------------------------
 TO PONDER
 -------------------------------------------------------------------------------