Текущий статус: исправление отправлено в 009014
Один из этих двух - ошибка.
На самом деле, думая об этом, можно в любом случае спорить о том, следует ли применять принуждения к значениям по умолчанию, но так как Moose делает это, и поскольку принуждения носят структурный характер (в отличие от проверок типов, которые часто используются для утверждения типа). вещи и должны всегда проходить, кроме как при наличии ошибки), я думаю, что это так.
... на самом деле, проблема в том, что Method :: Generate :: Accessor при запуске _use_default всегда оборачивает его в _generate_simple_set, когда _generate_set обеспечивает обертывание триггера isa + coerce + - и я вполне уверен, что Moose запускает все три, когда применяет значение по умолчанию, поэтому нам тоже нужно.
Это не совсем тривиальное исправление, потому что я не параметризовал _generate_set для получения значения, указывающего, как генерировать значение для установки. Я попробую разобраться завтра, так как я планирую выпустить релиз.
Если вам нужна поддержка Moo от разработчиков, пожалуйста, свяжитесь с bugs-Moo@rt.cpan.org или присоединитесь к # web-simple на irc.perl.org - это просто удача, что кто-то на канале IRC увидел этот вопрос и спросил об этом :)