[html-formfu] HTML-FormFu trunk fails to pass "make test" with Recent Moose due to MooseX::ChainedAccessors

Shlomi Fish shlomif at iglu.org.il
Tue Nov 2 16:47:26 GMT 2010


Hi all,

HTML-FormFu trunk fails to pass "make test" with Recent Moose due to 
MooseX-ChainedAccessors incompatibity (which now fails its own tests):

[shell]
[shlomif at lap HTML-FormFu]$ svn info
Path: .
URL: http://html-formfu.googlecode.com/svn/trunk/HTML-FormFu
Repository Root: http://html-formfu.googlecode.com/svn
Repository UUID: ad6ea75e-0b29-0410-be19-adbfd45e731a
Revision: 1819
Node Kind: directory
Schedule: normal
Last Changed Author: fireartist
Last Changed Rev: 1819
Last Changed Date: 2010-10-21 15:46:51 +0200 (Thu, 21 Oct 2010)

[shlomif at lap HTML-FormFu]$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl5.10.1 "-MExtUtils::Command::MM" "-e" 
"test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/bugs/*.t 
t/constraints/*.t t/deflators/*.t t/elements/*.t t/examples/*.t t/filters/*.t 
t/force_errors/*.t t/form/*.t t/i18n/*.t t/inflators/*.t t/internals/*.t 
t/model/*.t t/multiform-misc/*.t t/multiform-nested-name/*.t t/multiform-no-
combine/*.t t/multiform/*.t t/multiform_hidden_name/*.t t/nested/*.t 
t/nested/constraints/*.t t/nested/elements/*.t t/nested/filters/*.t 
t/nested/form/*.t t/nested/inflators/*.t t/nested/internals/*.t 
t/nested/transformers/*.t t/nested/validators/*.t t/output_processors/*.t 
t/plugins/*.t t/repeatable/*.t t/repeatable/constraints/*.t 
t/repeatable/repeatable/constraints/*.t t/transformers/*.t t/utils/*.t 
t/validators/*.t
t/01use.t ...................................................... 1/3 
#   Failed test 'use HTML::FormFu;'
#   at t/01use.t line 6.
#     Tried to use 'HTML::FormFu'.
#     Error:  Could not create the 'accessor' method for type because : Can't 
locate object method "_inline_access" via package 
"MooseX::ChainedAccessors::Accessor" at 
/usr/lib/perl5/vendor_perl/5.10.1/MooseX/ChainedAccessors/Accessor.pm line 14.
#  at /usr/lib/perl5/vendor_perl/5.10.1/x86_64-linux-thread-
multi/Class/MOP/Attribute.pm line 344
#       Class::MOP::Attribute::__ANON__('Can\'t locate object method 
"_inline_access" via package "Moo...') called at 
/usr/lib/perl5/vendor_perl/5.10.1/Try/Tiny.pm line 98
#       Try::Tiny::try('CODE(0x2495970)', 'Try::Tiny::Catch=REF(0x2434b10)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/x86_64-linux-thread-
multi/Class/MOP/Attribute.pm line 345
#       
Class::MOP::Attribute::_process_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0x24955c8)', 
'accessor', 'type', undef) called at /usr/lib/perl5/vendor_perl/5.10.1/x86_64-
linux-thread-multi/Moose/Meta/Attribute.pm line 573
#       
Moose::Meta::Attribute::_process_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0x24955c8)', 
'accessor', 'type', undef) called at /usr/lib/perl5/vendor_perl/5.10.1/x86_64-
linux-thread-multi/Class/MOP/Attribute.pm line 356
#       
Class::MOP::Attribute::install_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0x24955c8)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/x86_64-linux-thread-
multi/Moose/Meta/Attribute.pm line 532
#       
Moose::Meta::Attribute::install_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0x24955c8)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/x86_64-linux-thread-
multi/Class/MOP/Class.pm line 767
#       Class::MOP::Class::__ANON__() called at 
/usr/lib/perl5/vendor_perl/5.10.1/Try/Tiny.pm line 76
#       eval {...} called at /usr/lib/perl5/vendor_perl/5.10.1/Try/Tiny.pm 
line 67
#       Try::Tiny::try('CODE(0x2487fb0)', 'Try::Tiny::Catch=REF(0x2487de8)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/x86_64-linux-thread-
multi/Class/MOP/Class.pm line 772
[/shell]

Here is an IRC conversation about it on #moose:

[quote]
<rindolf> Hi all. Can anyone help with http://erxz.com/pb/663 ?
<doy> mx-chainedaccessors is calling _inline_access for no reason at all
<doy> and that method was removed or something recently?
<doy> need to poke someone to update that
<rindolf> doy: I don't see anything about it here - 
http://kobesearch.cpan.org/htdocs/Moose/Changes.html
<rindolf> Maybe it's in Class::MOP?
<rindolf> Moose has a serious problem with backwards compatibility.
<rindolf> Hmmm... I see it here - 
http://cpansearch.perl.org/src/STEVAN/Moose-0.40/lib/Moose/Meta/Method/Accessor.pm
<rindolf> but naturally _inline_access indicates it is an internal method.
--> patspam (~patspam at pool-173-77-22-233.nycmny.east.verizon.net) has joined 
#moose
<stevan> rindolf: no, people shouldnt use _internal_methods
<stevan> we have a right to change those
<stevan> we have a pretty good deprecation policy
<doy> stevan: well, that's from an extension, and we really should work on 
separating out actual private methods from methods that are okay to override 
and such
<doy> and that module should probably be in test-my-deps, not sure why it 
isn't
<stevan> backwards compat is preserved as much as possible, but not when it 
gets in the way of progress (see also Perl 5)
<doy> right
<rindolf> stevan: yes, I understand it now.
<doy> and yeah, that was changed as part of the native trait rewrite in 1.15
<stevan> doy: yes, agreed we do need to make that distinction better
<rindolf> https://rt.cpan.org/Ticket/Display.html?id=62647 - reported here, 
even the core tests fail.
<stevan> if I had to guess
<stevan> the author wrote that cause he thought he wanted it
<stevan> and then started using it and realized why we recommended so heartily 
against it
<stevan> i base this on the fact there is a 0.01 release almost 20 months ago 
and nothing since
<doy> the implementation is a lot of cargo culting too - it doesn't even use 
the result of _inline_access
<doy> and is a lot of duplication of the superclass code, although that might 
be unavoidable with the current state of the inlining code
<doy> (and that might be broken anyway, with all the refactoring we've been 
doing)
<doy> really, someone needs to take over maintainership, and rewrite it so 
it's less hacky
<doy> if people want to use it
<rindolf> doy: it is required by HTML-FormFu.
<rindolf> At least its svn version.
<rindolf> doy: I was trying to fix a missing semicolon in the documentation 
and ran into that.
<stevan> NOT IT!
<stevan> that is HTML-FormFu's fault :)
<doy> rindolf: okay, and?
<stevan> rindolf: I would suggest you email HTML-FormFu maintainer and 
recommend he either take it over or abandon usage
<stevan> the Moose cabal has a policy of not taking over abandoned MooseX:: 
modules
<rindolf> doy: just giving you context for my question.
<rindolf> I'm yak shaving at the moment.
--> daxelrod (~daxelrod at 164.55.254.106) has joined #moose
* stevan suggests slitting that yaks throat and burning the carcass
<ether> mmm, yak barbeque
<stevan> ether: no no, this yak is not suitable for consumption
<rindolf> http://github.com/DavidMcLaughlin/MooseX-ChainedAccessors - this 
also fails the tests.
<stevan> thats cause the issues is with 1.15, this was last updated of 0.98
<stevan> and like doy said, the code is heavily cargoculted
[/quote]

Can you follow this advice and fix the /trunk ? Should I work on another 
branch? I have a small documentation fix.

Regards,

	Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
"Humanity" - Parody of Modern Life - http://shlom.in/humanity

<rindolf> She's a hot chick. But she smokes.
<go|dfish> She can smoke as long as she's smokin'.

Please reply to list if it's a mailing list post - http://shlom.in/reply .



More information about the HTML-FormFu mailing list