Я хотел бы использовать MooseX :: ClassAttribute in роль. Т.е. сделать что-то вроде
package Cachable; use Moose::Role; use MooseX::ClassAttribute; class_has Cache => ( is => 'rw' ); 1;
К сожалению, приведенный выше код не работает как глубокое волшебство MooseX :: ClassAttribute ожидает вызываться из объекта Moose, а не Moose :: Role. Есть ли способ обойти это, или это известное ограничение?
Вы пришлите мне патч, который делает эту работу. Это, безусловно, выполнимо, хотя внутренняя часть Moose делает его сложнее, чем нужно из-за того, как роли обрабатывают атрибуты.