All,

This email refers to an RT ticket I've filed that I think warrants
some discussion
(https://rt.cpan.org/Public/Bug/Display.html?id=44873).

I've created a rudimentary ORM that maps attributes in a class to
columns in a table and maps an instance of a class to a table row.
This has proven problematic because the set of valid column names is
different from the set of valid attribute names.

For instance, I want a column named "0" (the number zero).  While that
is valid as a mysql column, that is invalid as an attribute name.  The
only reason I can fathom that 0 is prohibited from being an attribute
name is because $obj->0 is invalid perl, but even so you can still
access the data via $meta or install another accessor which is valid
perl.

I'd like for the following validation in the Class::MOP::Attribute
constructor to be removed:

  (defined $name && $name)
  || confess "You must provide a name for the attribute";

Is there any reason Class::MOP::Attribute should enforce this?

Dan

Reply via email to