Attributes in CStructs and CUnions can specify whether they are 'embedded' into the surrouning structure or referenced. To say the former one will now be able to use the 'HAS' keyword, to do the latter one uses 'has' as usual.
Unit scope declarations will in the future require a 'unit' declarator, instead of relying merely on a blockless semicolon form. (A semicolon in place of a block is both too invisible and too late for such a feature.) The absence of a 'unit' declarator on unit declarations is deprecated. The identifier 'SemicolonForm' is now replaced with 'UnitScope'.
This reduces bare startup time by about 30% (.23 to .16 on my machine), and running a spectest from 240 to 215 wallclock (1620 to 1435 CPU), again on my machine. List of features: - @*INC / %*CUSTOM_LIB only contain strings, never any (other) object - the separator between paths is now "," - the separator between include path specification is now "#" - all module loading code is now threadsafe (afaics) - added RAKUDO_MODULE_DEBUG helper sub for module loading diag info - added DISTRO.cur-sep to help with migration from older panda's - adapted parse-include-spec sanity testing We should now be ready to making 'use lib' a pragma and truly lexical.
…e/rakudo into hyphenate_test_functions Conflicts: lib/Test.pm
The hard coded level for callframe we had before did only match in some cases. Now we're looking outwards until we leave Test.pm Additionally we can grab the call frame from within conditional, since the bug which prevented that seems to be gone (cmp. commit 4111fa4).