Vorrei definire alcuni sottoinsiemi a cui sto aggiungendo anche alcuni vincoli e alcune die
dichiarazioni per alcuni utili messaggi di errore. Non voglio definirli nella parte superiore del modulo che utilizza quei sottoinsiemi e invece voglio inserirli in un altro modulo, eliminando anche l'uso dei loro nomi completi (FQN). Per esempio, ho
unit module Long::Module::Subsets;
subset PosInt
where ($_ ~~ Int || "The value must be an integer")
&& ($_ > 0 || "The value must be greater than 0")
is export
;
# other subsets ...
ma ottenuto
===SORRY!=== Error while compiling /tmp/637321813/main.pl6
Two terms in a row ...
Non funzionando ho pensato che avrei potuto fare qualcosa come segue, ma mi chiedo se potrei evitare di farlo:
use Long::Module::Subsets;
unit Long::Module;
my constant PosInt = Long::Module::Subsets::PosInt;
my constant Byte = Long::Module::Subsets::Byte;
# ... more subsets here
# ... some code here
my PosInt $age;