On Fri Jun 14 06:44:20 2013, TOBYINK wrote:
Show quoted text> Based on grep.cpan.me, the following modules appear to be using
> Class::XSAccessor's "predicates" feature:
>
> * Moos
>
> (I'm a contributor to Moos, and speaking with my Moos hat on, this
> issue causes a subtle bug in Moos; changing the behaviour to match
> Moose would resolve the bug - though the bug could be solved within
> Moos instead by not using Class::XSAccessor to generate
> predicates.)
>
> * Asm::Preproc::Token
>
> This uses Class::XSAccessor::Array, so raises the question of how
> predicates should work there.
>
> * Padre::Wx::Main
>
> This might need testing.
>
> * File::PackageIndexer
>
> In test cases. I don't think it would make any difference here, but
> you're probably better placed to answer that one than I am.
>
> Although not showing up in the grep.cpan.me search, MooseX::XSAccessor
> also uses predicates, and the difference between
> Class::XSAccessor's predicates and Moose's predicates is listed as
> a CAVEAT.
>
> Moo notably does *not* use Class::XSAccessor's predicates, even though
> it uses the getters/setters/accessors. Perhaps because of this
> issue?
Heh, don't underestimate non-CPAN code!
Nonetheless, I appreciate your help in checking. I lean towards changing behaviour.
For arrays, however, it must remain a defined check. This is because otherwise, one would just be exposing an implementation detail (placeholders).