Subject: | Composite name gives: Identifier too long error |
Using Moo::Role->create_class_with_roles I'm getting
Eval went very, very wrong:
{
my $isa_check_for_scheme = ${$_[1]->{"\$isa_check_for_scheme"}};
my $isa_check_for__5fbase = ${$_[1]->{"\$isa_check_for__5fbase"}};
and then 25 pages of Perl source later
$$_UNQUOTED = \&Web::ComposableRequest::Base__WITH__Web::ComposableRequest::Role::L10N__AND__Web::ComposableRequest::Role::Session__AND__Web::ComposableRequest::Role::Cookie__AND__Web::ComposableRequest::Role::JSON__AND__Web::ComposableRequest::Role::Static::new
}
1;
Identifier too long at (eval 210) line 40
If I alter sub _composite_name and reduce the threshold for
shortening from 252 to 240 the problem goes away. I think that
the extra 12 characters comes from ::SUPER::new which is added
to the composite class name of 241 characters and so exceeds
the 252 character limit