Yary, No, I can’t reproduce with independent test code so far. I gave it a quick try but could not reproduce it (see the alphabet soup at the bottom of this thread).
ROLE.pm6 unit role ROLE; method XXX () { say 'Nothing'; } AAAAAAAAAAAAAAAAAAAA.pm6 unit class AAAAAAAAAAAAAAAAAAAA; use AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB; has AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB $.B; submethod TWEAK { $!B = AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB.new(); } AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB.pm6 use ROLE; unit class AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB does ROLE; use AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB::CCCCCCCCCCCCCCCCCCCC; has AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB::CCCCCCCCCCCCCCCCCCCC $.C; submethod TWEAK { $!C = AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB::CCCCCCCCCCCCCCCCCCCC.new(); } … and so on … AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF/GGGGGGGGGGGGGGGGGGGG/HHHHHHHHHHHHHHHHHHHH/IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII.pm6 use ROLE; unit class AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB::CCCCCCCCCCCCCCCCCCCC::DDDDDDDDDDDDDDDDDDDD::EEEEEEEEEEEEEEEEEEEE::FFFFFFFFFFFFFFFFFFFF::GGGGGGGGGGGGGGGGGGGG::HHHHHHHHHHHHHHHHHHHH::IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII does ROLE; use AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB::CCCCCCCCCCCCCCCCCCCC::DDDDDDDDDDDDDDDDDDDD::EEEEEEEEEEEEEEEEEEEE::FFFFFFFFFFFFFFFFFFFF::GGGGGGGGGGGGGGGGGGGG::HHHHHHHHHHHHHHHHHHHH::IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII::JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ; has AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB::CCCCCCCCCCCCCCCCCCCC::DDDDDDDDDDDDDDDDDDDD::EEEEEEEEEEEEEEEEEEEE::FFFFFFFFFFFFFFFFFFFF::GGGGGGGGGGGGGGGGGGGG::HHHHHHHHHHHHHHHHHHHH::IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII::JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ $.J; submethod TWEAK { $!J = AAAAAAAAAAAAAAAAAAAA::BBBBBBBBBBBBBBBBBBBB::CCCCCCCCCCCCCCCCCCCC::DDDDDDDDDDDDDDDDDDDD::EEEEEEEEEEEEEEEEEEEE::FFFFFFFFFFFFFFFFFFFF::GGGGGGGGGGGGGGGGGGGG::HHHHHHHHHHHHHHHHHHHH::IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII::JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ.new(); } Those crazy-long names compiled just fine. All of my attempts to reproduce this behavior outside of my project (https://github.com/markldevine/perl6-Hypervisor-IBM-POWER-HMC) have failed so far. I’m going to implement more modules with even more depth and see if I can reproduce the problem elsewhere in the project’s code. My work-around * cp DynamicPowerSavingTunables.pm6 ../.. * vi ../../ DynamicPowerSavingTunables.pm6 # delete 46 chars from ‘unit class …’ * vi ../EnergyManagementConfiguration,pm6 # delete 46 chars from ‘need’, ‘has’ type, and assignment type * ~/bin/ManagedSystems # good compile, expected results When I fold the module higher up in the hierarchy like the above, it compiles/executes successfully. I’m stumped. Thanks, Mark From: yary <not....@gmail.com> Sent: Wednesday, August 14, 2019 17:05 To: Mark Devine <m...@markdevine.com> Cc: perl6-users <perl6-us...@perl.org> Subject: Re: FW: Type name limit? What's the simplest way to get the error- can you make a 1 or 2 line class definition that should compile but doesn't? On Wed, Aug 14, 2019, 10:27 AM Mark Devine <m...@markdevine.com<mailto:m...@markdevine.com>> wrote: Perl 6 Community, Adding the gory details of my dilemma (JPG attached): Red (longest & 2nd longest) fail to compile with: ===SORRY!=== Type 'Hypervisor::IBM::POWER::HMC::ManagedSystems::ManagedSystem::EnergyManagementConfiguration' is not declared at /home/mdevine/github.com/perl6-Hypervisor-IBM-POWER-HMC/lib/Hypervisor/IBM/POWER/HMC/ManagedSystems/ManagedSystem.pm6<http://github.com/perl6-Hypervisor-IBM-POWER-HMC/lib/Hypervisor/IBM/POWER/HMC/ManagedSystems/ManagedSystem.pm6> (Hypervisor::IBM::POWER::HMC::ManagedSystems::ManagedSystem):57 ------> gedSystem::EnergyManagementConfiguration⏏ $.EnergyManagementConfigurati Malformed has at /home/mdevine/github.com/perl6-Hypervisor-IBM-POWER-HMC/lib/Hypervisor/IBM/POWER/HMC/ManagedSystems/ManagedSystem.pm6<http://github.com/perl6-Hypervisor-IBM-POWER-HMC/lib/Hypervisor/IBM/POWER/HMC/ManagedSystems/ManagedSystem.pm6> (Hypervisor::IBM::POWER::HMC::ManagedSystems::ManagedSystem):57 ------> ER::HMC::ManagedSystems::ManagedSystem::⏏EnergyManagementConfiguration Green compiles fine. I started with the longest-name configuration, experienced the compile error, copied the file up one directory, adjusted the names where required, then experienced the compile error again. I repeated by copying DynamicPowerSavingTunables.pm6 yet another directory higher/adjusting names and it compiled successfully. I repeated this method from scratch a second time with the same reproducible results. I tested name length with this scenario, which compiled fine: /home/mdevine/t/lib/ /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF/GGGGGGGGGGGGGGGGGGGG /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF/GGGGGGGGGGGGGGGGGGGG/HHHHHHHHHHHHHHHHHHHH /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF/GGGGGGGGGGGGGGGGGGGG/HHHHHHHHHHHHHHHHHHHH/IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF/GGGGGGGGGGGGGGGGGGGG/HHHHHHHHHHHHHHHHHHHH/IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII/JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF/GGGGGGGGGGGGGGGGGGGG/HHHHHHHHHHHHHHHHHHHH/IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF/GGGGGGGGGGGGGGGGGGGG/HHHHHHHHHHHHHHHHHHHH.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF/GGGGGGGGGGGGGGGGGGGG.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE/FFFFFFFFFFFFFFFFFFFF.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD/EEEEEEEEEEEEEEEEEEEE.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC/DDDDDDDDDDDDDDDDDDDD.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCC.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBB.pm6 /home/mdevine/t/lib/AAAAAAAAAAAAAAAAAAAA.pm6 /home/mdevine/t/lib/h /home/mdevine/t/lib/ROLE.pm6 Any insights? I am doing something fundamentally wrong? Thanks, Mark -----Original Message----- From: Mark Devine <m...@markdevine.com<mailto:m...@markdevine.com>> Sent: Tuesday, August 13, 2019 20:29 To: perl6 <perl6-us...@perl.org<mailto:perl6-us...@perl.org>> Subject: Type name limit? This is Rakudo version 2019.07.1 built on MoarVM version 2019.07.1 implementing Perl 6.d. . . .