The problem was actually the FindVariable plugin implementation
of find_variable. Class::MOP::Package::has_package_symbol method
was being called with a name without a sigil which is an error
in usage. This skips the call if no sigil is present.
my $meta = Class::MOP::Class->initialize($package);
- return unless $meta->has_package_symbol("$sigil$name");
+ # Class::MOP::Package::has_package_symbol method *requires* a sigil
+ return unless length($sigil) and $meta->has_package_symbol("$sigil$name");
$meta->get_package_symbol("$sigil$name");
}