ここに私が理解できない奇妙なことがあります。古い標準の Exporter モジュールを使用して、いくつかの定数もエクスポートしたい Moose クラスがあります。ただし、クラスに追加extends Exporter
するとすぐに、何らかの理由で、デフォルトの Moose コンストラクターが継承されなくなり、致命的なエラーが発生します。
Can't locate object method "new" via package "MyApp::Dispatch"
これは、問題を示す簡単なテストです。
package Foo;
use Moose;
use constant NARF => 'poit';
extends 'Exporter';
1;
$ perl -I./lib -MFoo -e '$f=Foo->new'
Can't locate object method "new" via package "Foo" at -e line 1.
行を削除extends
すると、問題がなくなります。
これは Moose 0.93 を使用しています。