MooseX::AliasesとMooseX::Constructor::AllErrorsでエイリアスを使用しようとしています
ただし、この 2 つはうまく連携していないようです。次の例を検討してください。
package Alias
{
use Moose;
use MooseX::Aliases;
use MooseX::Constructor::AllErrors;
has foo => (
is => 'rw', isa => 'Str', required => 1, alias => 'bar'
);
}
use strict;
use warnings;
use Alias;
my $obj;
eval {
$obj = Alias->new( bar => 'alias_value' );
};
if ($@)
{
foreach my $error ( $@->errors )
{
print $error ."\n";
print $error->message ."\n";
}
exit 1;
}
print $obj->bar ."\n";
$obj->foo( 'new_alias_value' );
print $obj->foo."\n";
1;
これにより、'bar' エイリアスを使用して Alias オブジェクトを作成できるようになるはずです... そうではないでしょうか? MooseX::Constructor::AllErrors
エイリアス属性をサポートすることになっているかどうかは誰にもわかりますか?