tokuhirom's blog

Moo loads Moose automatically when ->meta->add_method()

Moo の __PACKAGE__->meta の実態は Moo::HandleMoose::FakeMetaClass なのであって、このメタクラスのメソッドをよぶと、その瞬間に Moose をよんで、Moose のメタクラスのインスタンスをつくるっぽい。
なので、Moo をつかう場合、Moose をアンインストールしておくのが安全だ(ぇ

なお、

no Moo::sification

とすると metaclass がつくられなくなります。
(ただ、ライブラリとしてだす場合にはこうするのがいいかどうかは、微妙なことこの上なし)

Moo つかったライブラリだすとき、Moose よんでないかどうかチェックするテストもいれたほうがいいんすかね?
(あるいは lib::core::only とかつかって、Moose いれてない環境でテストするとか)

Created: 2013-02-10 11:32:42 UTC
Updated: 2013-02-10 11:32:42 UTC