add some more explanation to the ::Delta entries
[gitmo/Moose.git] / TODO
diff --git a/TODO b/TODO
index 95ad01c..ed51e5d 100644 (file)
--- a/TODO
+++ b/TODO
@@ -14,6 +14,16 @@ good), although it's hard to test to see what actually works.
 RT#69839 - UNIVERSAL methods should show up as methods, so things like method
 modifiers work
 
+=== Register implicitly created class/role types
+
+When you do has foo => (isa => 'Bar'), it returns a class_type for Bar, but
+doesn't register it. This means that later you can declare "subtype 'Bar', as
+'Str', ..." and it'll work, and later instances of the 'Bar' type will use that
+one. We should register the implicitly created ones so that trying to redefine
+it after it's used throws an error.
+
+== Todo for 2.0600
+
 === Revise MetaRole API to reunify class/role metaroles:
 
   apply_metaroles(
@@ -45,13 +55,7 @@ Moose extensions that work by calling Moose->init_meta(metaclass =>
 deprecated, so they can be removed later (this should fix the issues with
 init_meta generation in Moose::Exporter, see RT51561)
 
-=== Register implicitly created class/role types
-
-When you do has foo => (isa => 'Bar'), it returns a class_type for Bar, but
-doesn't register it. This means that later you can declare "subtype 'Bar', as
-'Str', ..." and it'll work, and later instances of the 'Bar' type will use that
-one. We should register the implicitly created ones so that trying to redefine
-it after it's used throws an error.
+This needs to wait until the previous fix gets in, since it will hopefully eliminate the need to write custom init_meta methods entirely.
 
 === Attributes in roles need to be able to participate in role composition
 
@@ -94,9 +98,17 @@ namespace::autoclean to not break things.
 
 Also, MooseX::Role::WithOverloading should probably be cored.
 
+This should probably also wait for the metarole unification fix, to avoid the
+::WithOverloading stuff being too insane.
+
 
 == Todo for later
 
+=== has +foo in roles
+
+There's no actual reason for this not to work, and it gets asked often enough
+that we really should just do it at some point.
+
 === Actual API for metaclass extensions
 
 Right now, the only way to bundle multiple metaclass traits is via
@@ -145,13 +157,11 @@ that people would think to use first is the method that they actually mean.
 Something like renaming find_method_by_name to find_method, and get_method to
 find_local_method or something along those lines.
 
-=== Move load_class and related stuff out to an external module
+=== use Sub::Identify instead of doing our own thing with get_code_info
 
-Choices include Class::Load, Module::Runtime, or writing something ourselves.
-Module::Runtime doesn't currently support is_class_loaded, and neither of those
-two support load_first_existing_class, and we have is_class_loaded in XS at the
-moment, because we call it enough internally (mostly by load_class) for it to
-be noticeable.
+No idea why we stopped using Sub::Identify in the past, but there's no reason
+not to do this. We have a bug fix in our version (the isGV_with_GP thing), so
+this should be submitted to Sub::Identify first.
 
 === Move method modifiers out to an external module