>>> rakudo: Building community/rakudo 2026.08-r0 (using abuild 3.18.0_rc5-r1) started Tue, 01 Sep 2026 13:49:14 +0000 >>> rakudo: Validating /home/buildozer/aports/community/rakudo/APKBUILD... >>> rakudo: Analyzing dependencies... >>> rakudo: Installing for build: build-base nqp~2026.08 moarvm-dev~2026.08 perl-utils perl-test-harness ( 1/22) Installing libffi (3.8.0-r0) ( 2/22) Installing mimalloc2 (2.2.7-r0) ( 3/22) Installing libuv (1.52.1-r0) ( 4/22) Installing moarvm (2026.08-r0) ( 5/22) Installing nqp (2026.08-r0) ( 6/22) Installing linux-headers (7.2.1-r0) ( 7/22) Installing libffi-dev (3.8.0-r0) ( 8/22) Installing libuv-dev (1.52.1-r0) ( 9/22) Installing mimalloc2-debug (2.2.7-r0) (10/22) Installing mimalloc2-insecure (2.2.7-r0) (11/22) Installing mimalloc2-dev (2.2.7-r0) (12/22) Installing libbz2 (1.0.8-r6) (13/22) Installing perl (5.44.0-r0) (14/22) Installing zstd (1.5.7-r2) (15/22) Installing zstd-dev (1.5.7-r2) (16/22) Installing moarvm-dev (2026.08-r0) (17/22) Installing perl-utils (5.44.0-r0) (18/22) Installing perl-test-harness (3.52-r0) (19/22) Installing .makedepends-rakudo (20260901.134914) (20/22) Installing perl-error (0.17030-r0) (21/22) Installing perl-git (2.55.0-r1) (22/22) Installing git-perl (2.55.0-r1) Executing busybox-1.38.0-r4.trigger OK: 345.1 MiB in 127 packages >>> rakudo: Cleaning up srcdir >>> rakudo: Cleaning up pkgdir >>> rakudo: Cleaning up tmpdir >>> rakudo: Fetching https://distfiles.alpinelinux.org/distfiles/edge/rakudo-2026.08.tar.gz /var/cache/distfiles/edge/rakudo-2026.08.tar.gz: OK /home/buildozer/aports/community/rakudo/telemetry-tests-32bit.patch: OK >>> rakudo: Fetching https://distfiles.alpinelinux.org/distfiles/edge/rakudo-2026.08.tar.gz /var/cache/distfiles/edge/rakudo-2026.08.tar.gz: OK /home/buildozer/aports/community/rakudo/telemetry-tests-32bit.patch: OK >>> rakudo: Unpacking /var/cache/distfiles/edge/rakudo-2026.08.tar.gz... >>> rakudo: telemetry-tests-32bit.patch patching file t/06-telemetry/01-basic.t Using /usr/bin/nqp-m (version 2026.08 / MoarVM 2026.08). Cleaning up ... You can now use 'make' to build Rakudo. After that, 'make test' will run some tests and 'make install' will install Rakudo. +++ Checking for moar NQP version +++ Generating gen/moar/Grammar.nqp +++ Generating gen/moar/World.nqp +++ Generating gen/moar/ModuleLoader.nqp +++ Generating gen/moar/Ops.nqp +++ Compiling dynext/libperl6_ops_moar.so +++ Generating gen/moar/Pod.nqp +++ Generating gen/moar/Actions.nqp +++ Generating gen/moar/RakuGrammar.nqp +++ Generating gen/moar/RakuActions.nqp +++ Generating gen/moar/Compiler.nqp +++ Generating gen/moar/Optimizer.nqp +++ Generating gen/moar/Metamodel.nqp +++ Generating gen/moar/SysConfig.nqp +++ Generating gen/moar/ast.nqp +++ Generating gen/moar/BOOTSTRAP/v6d.nqp +++ Generating gen/moar/BOOTSTRAP/v6e.nqp +++ Compiling inst-rakudo +++ Compiling inst-rakudo-debug +++ Compiling inst-rakudo-m +++ Compiling inst-rakudo-debug-m +++ Compiling inst-perl6 +++ Compiling inst-perl6-debug +++ Compiling inst-perl6-m +++ Compiling inst-perl6-debug-m In file included from /usr/include/moar/moar.h:2, from src/vm/moar/runner/main.c:5: /usr/include/moar/gen/config.h:113:9: warning: 'MVM_DO_PTY_OURSELF' redefined 113 | #define MVM_DO_PTY_OURSELF | ^~~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +++ Expanding gen/moar/main-version.nqp In file included from /usr/include/moar/moar.h:2, from src/vm/moar/runner/main.c:5: /usr/include/moar/gen/config.h:113:9: warning: 'MVM_DO_PTY_OURSELF' redefined 113 | #define MVM_DO_PTY_OURSELF | ^~~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition In file included from /usr/include/moar/moar.h:2, from src/vm/moar/runner/main.c:5: /usr/include/moar/gen/config.h:113:9: warning: 'MVM_DO_PTY_OURSELF' redefined 113 | #define MVM_DO_PTY_OURSELF | ^~~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition In file included from /usr/include/moar/moar.h:2, from src/vm/moar/runner/main.c:5: /usr/include/moar/gen/config.h:113:9: warning: 'MVM_DO_PTY_OURSELF' redefined 113 | #define MVM_DO_PTY_OURSELF | ^~~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition In file included from /usr/include/moar/moar.h:2, from src/vm/moar/runner/main.c:5: /usr/include/moar/gen/config.h:113:9: warning: 'MVM_DO_PTY_OURSELF' redefined 113 | #define MVM_DO_PTY_OURSELF | ^~~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition In file included from /usr/include/moar/moar.h:90, from src/vm/moar/ops/perl6_ops.c:2: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/moar/moar.h:2, from src/vm/moar/runner/main.c:5: /usr/include/moar/gen/config.h:113:9: warning: 'MVM_DO_PTY_OURSELF' redefined 113 | #define MVM_DO_PTY_OURSELF | ^~~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition In file included from /usr/include/moar/moar.h:2, from src/vm/moar/runner/main.c:5: /usr/include/moar/gen/config.h:113:9: warning: 'MVM_DO_PTY_OURSELF' redefined 113 | #define MVM_DO_PTY_OURSELF | ^~~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition In file included from /usr/include/moar/moar.h:2, from src/vm/moar/runner/main.c:5: /usr/include/moar/gen/config.h:113:9: warning: 'MVM_DO_PTY_OURSELF' redefined 113 | #define MVM_DO_PTY_OURSELF | ^~~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition In file included from /usr/include/moar/moar.h:90: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/moar/moar.h:90: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/moar/moar.h:90: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': In file included from /usr/include/moar/moar.h:90: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/moar/moar.h:90: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/moar/moar.h:90: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/moar/moar.h:90: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': In file included from /usr/include/moar/moar.h:90: /usr/include/moar/core/nativecall.h: In function 'MVM_nativecall_find_thread_context': /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/moar/platform/threads.h:19:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 19 | #define MVM_platform_thread_id() (MVMint64)uv_thread_self() | ^ /usr/include/moar/core/nativecall.h:148:19: note: in expansion of macro 'MVM_platform_thread_id' 148 | MVM_platform_thread_id()); | ^~~~~~~~~~~~~~~~~~~~~~ +++ Compiling blib/Perl6/SysConfig.moarvm +++ Compiling blib/Perl6/ModuleLoader.moarvm +++ Compiling blib/Perl6/Pod.moarvm +++ Generating gen/moar/rakudo.nqp +++ Generating gen/moar/rakudo-debug.nqp +++ Compiling blib/Perl6/Ops.moarvm +++ Compiling blib/Perl6/Metamodel.moarvm +++ Compiling blib/Perl6/World.moarvm +++ Compiling blib/Perl6/Actions.moarvm +++ Compiling blib/Raku/Actions.moarvm +++ Compiling blib/Perl6/Optimizer.moarvm +++ Compiling blib/Perl6/BOOTSTRAP/v6d.moarvm +++ Compiling blib/Perl6/BOOTSTRAP/v6e.moarvm +++ Compiling blib/Raku/Grammar.moarvm +++ Compiling blib/Perl6/Compiler.moarvm +++ Generating gen/moar/BOOTSTRAP/v6c.nqp +++ Compiling blib/Perl6/BOOTSTRAP/v6c.moarvm +++ Compiling blib/Perl6/Grammar.moarvm +++ Compiling rakudo.moarvm +++ Compiling rakudo-debug.moarvm +++ Generating rakudo-gdb-m +++ Generating rakudo-lldb-m +++ Generating rakudo-valgrind-m +++ Generating perl6-gdb-m +++ Generating perl6-lldb-m +++ Generating perl6-valgrind-m +++ Compiling blib/CORE.c.setting.moarvm The following step can take a long time, please be patient. Stage start : 0.000 Stage parse : 90.547 Stage syntaxcheck: 0.000 Stage ast : 0.000 Stage optimize : 10.037 Stage mast : 18.217 Stage mbc : 3.827 +++ Compiling blib/CORE.d.setting.moarvm The following step can take a long time, please be patient. Stage start : 0.000 Stage parse : 0.501 Stage syntaxcheck: 0.000 Stage ast : 0.000 Stage optimize : 0.033 Stage mast : 0.050 Stage mbc : 0.010 +++ Compiling blib/CORE.e.setting.moarvm The following step can take a long time, please be patient. Stage start : 0.000 Stage parse : 4.067 Stage syntaxcheck: 0.000 Stage ast : 0.000 Stage optimize : 0.384 Stage mast : 0.618 Stage mbc : 0.079 +++ Generating rakudo-m >>> rakudo: Running 80 parallel test jobs 'perl' -I'/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/lib' -I'/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/3rdparty/nqp-configure/lib' t/harness5 --moar t/01-sanity t/02-rakudo t/04-nativecall t/05-messages t/06-telemetry t/07-pod-to-text t/08-performance t/10-qast t/13-experimental t/14-smoke t/09-moar t/12-rakuast t/01-sanity/16-eqv.t ............................................ 1..1 ok 1 ok t/01-sanity/09-end-blocks.t ..................................... 1..2 ok 1 ok 2 ok t/01-sanity/02-op-math.t ........................................ 1..14 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok t/01-sanity/07-op-string.t ...................................... 1..18 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok t/01-sanity/20-defined.t ........................................ 1..3 ok 1 ok 2 ok 3 ok t/01-sanity/11-tap.t ............................................ 1..10 ok 1 ok 2 ok # comment ok 4 ok 5 ok 6 foo ok 7 # skip ok 8 # skip bar not ok 9 # TODO not ok 10 # TODO baz ok t/01-sanity/12-counter.t ........................................ 1..4 ok 1 ok 2 ok 3 ok 4 ok t/01-sanity/13-equal.t .......................................... 1..4 ok 1 ok 2 ok 3 ok 4 ok t/01-sanity/15-sub.t ............................................ 1..4 ok 1 ok 2 ok 3 ok 4 ok t/01-sanity/17-isa.t ............................................ 1..3 ok 1 ok 2 ok 3 ok t/01-sanity/19-say.t ............................................ 1..12 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok t/01-sanity/03-op-logic.t ....................................... 1..16 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok t/01-sanity/01-literals.t ....................................... 1..24 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 # test multiple escapes in string using diag output: 123 ok 21 ok 22 ok 23 ok 24 ok t/01-sanity/08-var-array.t ...................................... 1..11 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok t/01-sanity/04-op-cmp.t ......................................... 1..24 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok t/01-sanity/05-var.t ............................................ 1..12 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok t/01-sanity/18-simple-multisubs.t ............................... 1..2 ok 1 ok 2 ok t/01-sanity/10-regex.t .......................................... 1..11 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok t/01-sanity/21-try.t ............................................ 1..4 ok 1 ok 2 ok 3 ok 4 ok t/01-sanity/06-op-inplace.t ..................................... 1..11 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok t/01-sanity/14-if.t ............................................. 1..9 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok t/02-rakudo/12-proto-location.t ................................. 1..3 ok 1 - an onlystar proto reports the file it was declared in ok 2 - an onlystar proto reports the line it was declared on ok 3 - a junction smartmatched against a definite type autothreads ok t/02-rakudo/06-is.t ............................................. 1..6 not ok 1 - # TODO should fail due to requested comparison # Failed test at t/02-rakudo/06-is.t line 11 # expected: 'Mu<4131602312>' # got: (Mu) ok 2 - should fail due to requested comparison not ok 3 - # TODO should fail due to requested comparison # Failed test at t/02-rakudo/06-is.t line 12 # expected: (Mu) # got: 'Mu<4131602480>' ok 4 - should fail due to requested comparison ok 5 - is(Mu:U, Mu:U) passes ok 6 - is(Mu:D, Mu:D) passes ok t/01-sanity/53-transpose.t ...................................... 1..26 ok 1 - TRANSPOSE foof,f,a -> aooa ok 2 - TRANSPOSE foof,f,ab -> abooab ok 3 - TRANSPOSE foof,f,ff -> ffooff ok 4 - TRANSPOSE foof,f, -> oo ok 5 - TRANSPOSE offo,f,a -> oaao ok 6 - TRANSPOSE offo,f,ab -> oababo ok 7 - TRANSPOSE offo,f,ff -> offffo ok 8 - TRANSPOSE offo,f, -> oo ok 9 - TRANSPOSE foof,fo,a -> aof ok 10 - TRANSPOSE foof,fo,ab -> abof ok 11 - TRANSPOSE foof,fo,ff -> ffof ok 12 - TRANSPOSE foof,fo, -> of ok 13 - TRANSPOSE offo,fo,a -> ofa ok 14 - TRANSPOSE offo,fo,ab -> ofab ok 15 - TRANSPOSE offo,fo,ff -> offf ok 16 - TRANSPOSE offo,fo, -> of ok 17 - TRANSPOSE ofof,fo,a -> oaf ok 18 - TRANSPOSE ofof,fo,ab -> oabf ok 19 - TRANSPOSE ofof,fo,ff -> offf ok 20 - TRANSPOSE ofof,fo, -> of ok 21 - TRANSPOSE oooo,o, -> ok 22 - TRANSPOSE oooo,o,x -> xxxx ok 23 - TRANSPOSE oooo,o,xx -> xxxxxxxx ok 24 - TRANSPOSE oooo,x, -> oooo ok 25 - TRANSPOSE oooo,x,y -> oooo ok 26 - TRANSPOSE oooo,x,yy -> oooo ok t/02-rakudo/21-trial-bind-generic.t ............................. ok 1 - role body can call a sub with a type-capture argument 1..1 ok t/02-rakudo/begin-value-container-precomp.t ..................... 1..3 ok 1 - # SKIP legacy serialization loses the Proxy FETCH closure ok 2 - # SKIP legacy serialization loses the Proxy FETCH closure ok 3 - # SKIP legacy serialization loses the Proxy FETCH closure ok t/02-rakudo/anon-decl-hash-literal.t ............................ 1..4 ok 1 - a pair whose value is an anon subset makes a hash ok 2 - the anon-subset value is stored in the hash and still type-checks ok 3 - a pair whose value is an anon enum stays a block ok 4 - a plain pair makes a hash ok t/02-rakudo/08-repeat.t ......................................... 1..5 ok 1 - concatenating strings with `~` that would create a too large result dies ok 2 - repeating strings with `x` that would create a too large result dies ok 3 - repeat count equal to the NQP limit works ok 4 - correct result for count equal to the NQP limit # Subtest: too large repeat count throws instead of going negative 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 5 - too large repeat count throws instead of going negative ok t/02-rakudo/23-self-call-loop-modifier.t ........................ 1..2 ok 1 - the method returns its lexical after the modifier loop ok 2 - each iteration passed the lexical to the self-call ok t/02-rakudo/begin-is-container-store.t .......................... 1..3 ok 1 - my %h is Map initialized in a BEGIN ok 2 - my %h is Set initialized in a BEGIN ok 3 - my %h is Map initialized outside a BEGIN ok t/02-rakudo/09-thread-id-after-await.t .......................... 1..1 # original ok 1 - Correct dynamic seen after invokving continuation on different thread ok t/02-rakudo/attr-default-nil-typed.t ............................ 1..3 ok 1 - `has TypedClass $.x = Nil` compiles and constructs ok 2 - `= Nil` default yields the type object ok 3 - `= Nil` honors `is default(...)` ok t/02-rakudo/begin-native-var.t .................................. 1..10 ok 1 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 2 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 3 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 4 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 5 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 6 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 7 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 8 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 9 - # SKIP native scalars in BEGIN-time code are NYI on the legacy frontend ok 10 - a BEGIN-time push to a native int array is visible at runtime ok t/02-rakudo/block-type-capture.t ................................ 1..4 ok 1 - capture in loop block does not leak into enclosing routine capture ok 2 - distinct capture in loop block leaves enclosing capture intact ok 3 - pointy block binds its own type capture to the argument type ok 4 - nested block capture binds to its own argument, shadowing outer ok t/02-rakudo/capture-var-adverb.t ................................ 1..12 ok 1 - sanity match with positional captures ok 2 - $0:exists is True for a matched positional capture ok 3 - $1:exists is True for a matched positional capture ok 4 - $2:exists is False for an unmatched positional capture ok 5 - $0:k yields the key ok 6 - sanity match with named captures ok 7 - $:exists is True for a matched named capture ok 8 - $:exists is False for an absent named capture ok 9 - $:exists matches $/:exists ok 10 - $0:exists matches $/[0]:exists ok 11 - $:kv matches $/:kv ok 12 - $:!exists matches the explicit form ok t/02-rakudo/attr-default-code-value.t ........................... 1..6 ok 1 - a list default holding a block constructs and keeps one element ok 2 - the stored block is callable with its own arity ok 3 - a public list attribute stores a zero-arity block as a value ok 4 - a scalar default naming a setting sub stores the sub itself ok 5 - a bare block default still stores the block ok 6 - a plain literal default still initializes directly ok t/02-rakudo/04-settingkeys-6d.t ................................. 1..2 ok 1 - all allowed symbols found ok 2 - No unexpected entries in SETTING:: ok t/02-rakudo/attributive-param-nested-alias.t .................... 1..4 ok 1 - a private array attributive parameter binds under the full binder ok 2 - a scalar attributive parameter binds under the full binder ok 3 - an attributive parameter in a composed role binds to the pun ok 4 - the inline bindings path is unaffected ok t/02-rakudo/capture-var-sigil.t ................................. 1..10 ok 1 - sanity: named capture with no subcaptures ok 2 - $ is the raw Match ok 3 - @ of a capture with no positional subcaptures is empty ok 4 - @ matches @($/) ok 5 - sanity: named capture with positional subcaptures ok 6 - @

lists the positional subcaptures ok 7 - sanity: named capture with named subcaptures ok 8 - % hashes the named subcaptures ok 9 - @

:exists drops the adverb and stays the list ok 10 - %:exists drops the adverb and stays the hash ok t/02-rakudo/anon-method-in-role-invocant.t ...................... 1..5 ok 1 - a named anon method from a role is callable when added to an unrelated class ok 2 - the same anon method works on a different type ok 3 - a my method from a role is callable when added to an unrelated class ok 4 - the anon method invocant is not constrained to the concrete role ok 5 - the my method invocant is not constrained to the concrete role ok t/02-rakudo/attributive-param-in-nested-sub.t ................... 1..4 ok 1 - a $!attr parameter in a sub nested in a method binds the attribute ok 2 - a $!attr parameter in a Proxy STORE sub binds and reads back ok 3 - plain $!attr access in a sub nested in a method still works # Subtest: a $!attr parameter in a sub with no enclosing method is rejected 1..2 ok 1 - 'sub f($!x) { }' died ok 2 - right exception type (X::Syntax::NoSelf) ok 4 - a $!attr parameter in a sub with no enclosing method is rejected ok t/02-rakudo/bare-block-topic-signature.t ........................ 1..11 ok 1 - bare block signature renders its implicit topic as raw with an outer default ok 2 - the implicit topic parameter is raw ok 3 - the implicit topic parameter is optional ok 4 - the implicit topic parameter is typed Mu ok 5 - ACCEPTS on a bare block signature does not die ok 6 - a one-argument capture matches a bare block signature ok 7 - an empty capture matches a bare block signature ok 8 - cando finds a bare block callable with one argument ok 9 - two bare blocks do not share one signature object ok 10 - the implicit topic still aliases the iterated containers ok 11 - ACCEPTS works on the implicit topic signature of a with block ok t/02-rakudo/05-range-in-range.t ................................. 1..9 ok 1 - 5 is in range 0 1 2 3 4 5 6 7 8 9 ok 2 - 42 is in range 0..^* ok 3 - Inf is in range *..* ok 4 - -Inf is in range *..* # Subtest: 99 is not in range 0 1 2 3 4 5 6 7 8 9 1..2 ok 1 - code dies ok 2 - right exception type (X::OutOfRange) ok 5 - 99 is not in range 0 1 2 3 4 5 6 7 8 9 # Subtest: Inf is not in range 0..^* 1..2 ok 1 - code dies ok 2 - right exception type (X::OutOfRange) ok 6 - Inf is not in range 0..^* # Subtest: Inf is not in range *^..^* 1..2 ok 1 - code dies ok 2 - right exception type (X::OutOfRange) ok 7 - Inf is not in range *^..^* # Subtest: NaN is not in range *..* 1..2 ok 1 - code dies ok 2 - right exception type (X::OutOfRange) ok 8 - NaN is not in range *..* # Subtest: 0/0 is not in -Inf^..^Inf range 1..3 ok 1 - code dies ok 2 - right exception type (X::OutOfRange) ok 3 - .message matches /'<0/0>' | '⁰/₀' / ok 9 - 0/0 is not in -Inf^..^Inf range ok t/02-rakudo/attribute-junction-default.t ........................ 1..3 ok 1 - an attribute with a Junction default value constructs ok 2 - the Junction default bound as a Junction ok 3 - a default value referencing self still works ok t/02-rakudo/begin-value-container.t ............................. 1..5 ok 1 - each read of a Proxy constant calls its FETCH ok 2 - a Proxy constant binds the Proxy itself ok 3 - each read of a BEGIN Proxy value calls its FETCH ok 4 - a constant bound to an anonymous scalar reads its value ok 5 - a constant bound to an anonymous scalar keeps the container ok t/02-rakudo/coercion-sigil-param-dispatch.t ..................... 1..6 ok 1 - a multi with a coercive array parameter dispatches ok 2 - a plain Array selects the unconstrained candidate ok 3 - a Positional[Int] selects the Int() @c candidate ok 4 - a multi with a coercive hash parameter dispatches ok 5 - a multi with a coercive callable parameter dispatches ok 6 - a scalar coercion still coerces ok t/02-rakudo/begin-clone-wrap.t .................................. 1..5 ok 1 - the body of a BEGIN-wrapped sub reaches the runtime lexical ok 2 - a clone made at BEGIN reaches the runtime lexical when called ok 3 - the original still reaches it after the clone ran ok 4 - memoized results are correct ok 5 - memoization via a BEGIN-time wrap caches the body call ok t/02-rakudo/bind-container-foreign-value.t ...................... 1..5 ok 1 - a container-held nqp hash binds a value parameter as Hash ok 2 - the mapped hash still holds its entries ok 3 - a container-held nqp list binds a value parameter ok 4 - a raw parameter still receives the unmapped foreign value ok 5 - a bare foreign value still binds and maps ok t/02-rakudo/begintime-loop-side-effects.t ....................... 1..4 ok 1 - while body runs for side effects in a BEGIN-time do-block ok 2 - until body runs for side effects in a BEGIN-time do-block ok 3 - C-style loop runs for side effects in a BEGIN-time do-block ok 4 - repeat-while body runs for side effects in a BEGIN-time do-block ok t/02-rakudo/20-begin-time-loop-init.t ........................... ok 1 - while body inside a BEGIN-time initializer runs for side effects ok 2 - until body inside a BEGIN-time initializer runs for side effects ok 3 - repeat-while body inside a BEGIN-time initializer runs before checking the condition ok 4 - repeat-until body inside a BEGIN-time initializer runs before checking the condition ok 5 - a constant whose value is the side-effect result of a preceding loop is kept ok 6 - and the accumulated value reflects every iteration of that loop 1..6 ok t/02-rakudo/07-implementation-detail-6.d.t ...................... 1..4 ok 1 - were any global uppercase CORE:: subs added ok 2 - were any global uppercase SETTING:: subs added ok 3 - were any global lowercase CORE:: subs added ok 4 - were any global lowercase SETTING:: subs added ok t/02-rakudo/charclass-enum-merge.t .............................. 1..6 ok 1 - LTM picks the longer branch of two negated char classes ok 2 - the same with a space in the text ok 3 - \h in a class still matches horizontal space ok 4 - \v in a class still matches vertical space ok 5 - \v merged with a literal in a negated class stops at the literal ok 6 - \h merged with a range in a positive class matches both ok t/02-rakudo/22-traited-variable-by-name.t ....................... 1..3 ok 1 - the LEAVE phaser of each loop iteration receives that iteration value ok 2 - a LEAVE phaser added by a custom does trait receives the traited variable ok 3 - a will leave phaser receives its variable ok t/01-sanity/56-use-isms.t ....................................... 1..8 ok 1 - Can we run p5ish code without it complaining ok 2 - Did the code with 'use isms' actually run ok 3 - Can we run p5ish code without it complaining ok 4 - Did the code with 'use isms ' actually run ok 5 - Can we run C++ish code without it complaining ok 6 - Did the code with 'use isms' actually run ok 7 - Can we run C++ish code without it complaining ok 8 - Did the code with 'use isms ' actually run ok t/02-rakudo/anon-subset.t ....................................... 1..6 ok 1 - an anon subset carries its declared name ok 2 - an anon subset accepts a matching value ok 3 - an anon subset rejects a non-matching value # Subtest: an anon subset does not install its name 1..2 ok 1 - 'anon subset Foo of Int where * < 5; Foo' died ok 2 - right exception type (X::Undeclared::Symbols) ok 4 - an anon subset does not install its name # Subtest: an anon enum does not install its name 1..2 ok 1 - 'anon enum Bar ; Bar' died ok 2 - right exception type (X::Undeclared::Symbols) ok 5 - an anon enum does not install its name ok 6 - a my-scoped subset still installs and type-checks ok t/02-rakudo/begin-time-attributive-param-method.t ............... 1..5 ok 1 - a method after a BEGIN-built attributive-param method is still installed ok 2 - a BEGIN-built attributive-param method binds its attribute ok 3 - a BEGIN-built method with a where-clause private call composes and runs ok 4 - the non-BEGIN attributive-param method path still works # Subtest: an undeclared attribute in a BEGIN-built method is still rejected 1..2 ok 1 - 'class C { has $!x; BEGIN my $m = method ($!nope) { } }' died ok 2 - right exception type (X::Attribute::Undeclared) ok 5 - an undeclared attribute in a BEGIN-built method is still rejected ok t/02-rakudo/07-implementation-detail-6.c.t ...................... 1..4 ok 1 - were any global uppercase CORE:: subs added ok 2 - were any global uppercase SETTING:: subs added ok 3 - were any global lowercase CORE:: subs added ok 4 - were any global lowercase SETTING:: subs added ok t/02-rakudo/07-implementation-detail-6.e.t ...................... 1..4 ok 1 - were any global uppercase CORE:: subs added ok 2 - were any global uppercase SETTING:: subs added ok 3 - were any global lowercase CORE:: subs added ok 4 - were any global lowercase SETTING:: subs added ok t/02-rakudo/25-run-main-enum.t .................................. 1..4 ok 1 - positional enum argument dispatches when the enum is not in scope ok 2 - named enum argument dispatches when the enum is not in scope ok 3 - enum argument dispatches alongside a Str argument ok 4 - word that is not an enum key still arrives as a Str ok t/02-rakudo/adverb-on-noncall-infix.t ........................... 1..5 # Subtest: can't adverb a short-circuit infix 1..2 ok 1 - 'my %h; True && %h:exists' died ok 2 - right exception type (X::Syntax::Adverb) ok 1 - can't adverb a short-circuit infix # Subtest: can't adverb a chaining infix 1..2 ok 1 - 'my %h; 1 == %h:exists' died ok 2 - right exception type (X::Syntax::Adverb) ok 2 - can't adverb a chaining infix # Subtest: can't adverb a thunky list infix 1..2 ok 1 - 'my %h; True ^^ %h:exists' died ok 2 - right exception type (X::Syntax::Adverb) ok 3 - can't adverb a thunky list infix ok 4 - an adverb on a subscript still works ok 5 - a loose infix leaves the adverb on the subscript ok t/02-rakudo/cmp-collections.t ................................... 1..28 ok 1 - Seq cmp Seq compares element by element ok 2 - List cmp Seq compares element by element ok 3 - Seq cmp List compares element by element ok 4 - Seq comparison no longer coincides with the stringification ok 5 - equal Seqs compare Same ok 6 - shorter Seq with equal prefix is Less ok 7 - first comparison of the same Seq ok 8 - second comparison of the same Seq ok 9 - Seq still has its values after comparisons ok 10 - Seq cmp itself is Same ok 11 - sorting a list of Seqs works ok 12 - lazy Seq cmp List ok 13 - infinite Seq cmp finite List ok 14 - multi-key Hash cmp by content is Less ok 15 - multi-key Hash cmp by content is More ok 16 - equal Hashes compare Same ok 17 - Hash cmp compares values as values ok 18 - sort of multi-key Hashes orders them by content ok 19 - Map cmp ignores insertion order ok 20 - Set cmp compares sorted elements ok 21 - equal Sets compare Same ok 22 - Bag cmp compares sorted pairs ok 23 - Mix with more elements is More ok 24 - sort of Sets orders them by content ok 25 - List cmp List still compares element by element ok 26 - List cmp Str still compares stringifications ok 27 - Range cmp Range still works ok 28 - Junctions still autothread ok t/01-sanity/55-use-trace.t ...................................... 1..3 ok 1 - did we get a Proc? ok 2 - is the program output ok? ok 3 - is the trace ok? ok t/02-rakudo/24-qualified-our-anchor.t ........................... 1..6 ok 1 - a qualified our variable declared in a class body anchors at GLOBAL ok 2 - a qualified our sub declared in a class body anchors at GLOBAL ok 3 - a qualified our variable anchors at a lexically visible package ok 4 - the lexically visible package stash holds the variable ok 5 - a qualified our variable from a used module is visible ok 6 - a qualified our sub from a used module updates the shared variable ok t/02-rakudo/08-inline-native-arith.t ............................ 1..4 ok 1 - $i * 2 inlines to mul_i when $i is declared as int ok 2 - can trialbiand to a sig with slurpy named param ok 3 - trial bind notices `where` in the capture ok 4 - trial bind notices `where` in the named slurpy ok t/02-rakudo/25-min-max-by-key.t ................................. 1..39 ok 1 - .min with a key function finds the first minimal value ok 2 - .min called the key function once per value ok 3 - .max with a key function finds the first maximal value ok 4 - .max called the key function once per value ok 5 - .min of a single value returns that value ok 6 - .min of a single value called the key function once ok 7 - .min with a key function skips type objects ok 8 - .min never called the key function on a type object ok 9 - .max with a block using the topic finds the maximum ok 10 - .max called the topic block once per value ok 11 - .min with a 2-arg comparator finds the minimum ok 12 - .min called the comparator once per value after the first ok 13 - .max with a 2-arg comparator finds the maximum ok 14 - .max called the comparator once per value after the first ok 15 - .max with a key function keeps the first of tied values ok 16 - .minpairs with a key function keeps all tied values ok 17 - .minpairs called the key function once per value ok 18 - .maxpairs with a key function keeps all maximal values ok 19 - .maxpairs called the key function once per value ok 20 - .min(:k) with a key function returns the keys of the minimal values ok 21 - .min(:k) called the key function once per value ok 22 - .max(:v) with a key function returns the maximal values ok 23 - .max(:v) called the key function once per value ok 24 - .minpairs with a 2-arg comparator keeps all minimal values ok 25 - .minpairs called the comparator once per value after the first ok 26 - .minmax with a key function finds the minimal and maximal values ok 27 - .minmax called the key function once per value ok 28 - .minmax with a key function compares Range values by their endpoints ok 29 - .minmax called the key function once per endpoint and value ok 30 - .minmax with a key function preserves endpoint exclusions ok 31 - .minmax with a key function recurses into Positional values ok 32 - .minmax with a 2-arg comparator finds the minimal and maximal values ok 33 - Supply.min with a key function emits each new minimum ok 34 - Supply.min called the key function once per value ok 35 - Supply.max with a key function emits each new maximum ok 36 - Supply.max called the key function once per value ok 37 - Supply.minmax with a key function emits each widened range ok 38 - Supply.minmax called the key function once per value ok 39 - Supply.min with a 2-arg comparator emits each new minimum ok t/01-sanity/99-test-basic.t ..................................... ok 1 - pass($desc) ok 2 - ok with description ok 3 - ok returns True ok 4 - ok 5 - ok returns True not ok 6 - calling ok False # TODO testing failure # Failed test 'calling ok False' # at t/01-sanity/99-test-basic.t line 16 ok 7 - failure returns False ok 8 - nok with description ok 9 - nok 0 returns True ok 10 - ok 11 - nok 0 returns True not ok 12 - nok 1 with description # TODO tesing nok True # Failed test 'nok 1 with description' # at t/01-sanity/99-test-basic.t line 27 ok 13 - nok 1 returns False ok 14 - is with description ok 15 - is returns True ok 16 - not ok 17 - is 1, 0; with description # TODO failing is # Failed test 'is 1, 0; with description' # at t/01-sanity/99-test-basic.t line 37 # expected: '0' # got: '1' ok 18 - is 1, 0; returns False ok 19 - isnt with description ok 20 - isnt 1, 0; returns True ok 21 - not ok 22 - isnt 1,1, with description # TODO testing isnt 1,1 # Failed test 'isnt 1,1, with description' # at t/01-sanity/99-test-basic.t line 47 # expected: anything except '1' # got: '1' ok 23 - isnt 1, 1; returns False not ok 24 - this should fail, to test todo() # TODO testing todo twice # Failed test 'this should fail, to test todo()' # at t/01-sanity/99-test-basic.t line 51 not ok 25 - this should also fail, to test todo() # TODO testing todo twice # Failed test 'this should also fail, to test todo()' # at t/01-sanity/99-test-basic.t line 52 ok 26 - passing test (todo is done) not ok 27 - todo with no count covers one test # TODO todo with no count # Failed test 'todo with no count covers one test' # at t/01-sanity/99-test-basic.t line 56 ok 28 - passing test (not todo) ok 29 - # SKIP skip with reason ok 30 - # SKIP ok 31 - # SKIP skip with count and reason ok 32 - # SKIP skip with count and reason # diag works, FYI not ok 33 - flunk # TODO testing flunk # Failed test 'flunk' # at t/01-sanity/99-test-basic.t line 68 ok 34 - isa-ok with message ok 35 - isa-ok returns True ok 36 - The object is-a 'Int' not ok 37 - The object is-a 'Int' # TODO failing isa-ok returns False # Failed test 'The object is-a 'Int'' # at t/01-sanity/99-test-basic.t line 78 # Actual type: Str ok 38 - Failing isa-ok returns False ok 39 - skip() dies when given the arguments in the wrong order ok 40 - dies-ok returns True not ok 41 - dies-ok {1} # TODO failing dies-ok returns False # Failed test 'dies-ok {1}' # at t/01-sanity/99-test-basic.t line 88 ok 42 - dies-ok returns False if code did not die ok 43 - dies-ok ok 44 - ok 45 - lives_ok ok 46 - lives-ok returns True ok 47 - not ok 48 - lives-ok { die } # TODO failing lives-ok returns False # Failed test 'lives-ok { die }' # at t/01-sanity/99-test-basic.t line 100 # Died ok 49 - failing lives-ok returns False ok 50 - eval-dies-ok ok 51 - eavl-dies-ok returns True ok 52 - not ok 53 - eval-dies-ok 1 fails # TODO eval-dies-ok 1 returns False # Failed test 'eval-dies-ok 1 fails' # at t/01-sanity/99-test-basic.t line 109 ok 54 - eval-dies-ok 1 returns False ok 55 - eval-lives-ok ok 56 - eval-lives-ok 1 returns True ok 57 - not ok 58 - lives-ok { die } # TODO failing eval-lives-ok returns False # Failed test 'lives-ok { die }' # at t/01-sanity/99-test-basic.t line 118 # Error: Died ok 59 - failing eval-lives-ok returns False ok 60 - is-deeply ok 61 - is-deeply returns True ok 62 - not ok 63 - is-deeply with exta key fails # TODO failing is-deeply returns False # Failed test 'is-deeply with exta key fails' # at t/01-sanity/99-test-basic.t line 140 # expected: ${} # got: ${:a(1)} ok 64 - failing is-deeply returns False ok 65 - Comparing eq Buf not ok 66 - # TODO Comparing 2 not eq Buf, should not pass # Failed test at t/01-sanity/99-test-basic.t line 148 # expected: Buf.new(43) # got: Buf.new(42) ok 67 - Comparing neq Buf 1..67 ok t/02-rakudo/25-regex-unspace.t .................................. 1..12 ok 1 - regex {} with a leading escaped hash matches a literal hash ok 2 - token {} with a leading escaped hash matches a literal hash ok 3 - rule {} with a leading escaped hash matches a literal hash ok 4 - a named regex with a leading escaped hash matches a literal hash ok 5 - an escaped hash after whitespace mid-regex stays an escape ok 6 - an escaped hash after sigspace stays an escape ok 7 - an escaped hash does not comment out the rest of its line ok 8 - a line comment at the start of a regex body still works ok 9 - a multi-line embedded comment at the start of a regex body still works ok 10 - rule {} sigspace still applies between atoms # Subtest: a backslash before whitespace mid-regex reports the no-unspace error 1..2 ok 1 - ' rx/ a \ b / ' died ok 2 - right exception type (X::Syntax::Regex::Unspace) ok 11 - a backslash before whitespace mid-regex reports the no-unspace error # Subtest: a backslash before whitespace in a regex body reports the no-unspace error 1..2 ok 1 - ' my regex r { \ } ' died ok 2 - right exception type (X::Syntax::Regex::Unspace) ok 12 - a backslash before whitespace in a regex body reports the no-unspace error ok t/02-rakudo/21-begin-time-eval-context.t ........................ 1..9 ok 1 - BEGIN-time string EVAL sees the caller $/ ok 2 - BEGIN-time string EVAL sees the caller $! ok 3 - BEGIN-time string EVAL sees the caller $_ ok 4 - BEGIN-time string EVAL writes through to the caller $_ ok 5 - BEGIN-time string EVAL sees a lexical of the calling block ok 6 - BEGIN-time string EVAL sees the caller $?PACKAGE ok 7 - our-scoped variable EVALed at BEGIN time lands in the caller package ok 8 - our-scoped variable EVALed at BEGIN time does not leak into GLOBAL ok 9 - our-scoped sub EVALed at BEGIN time lands in the caller package ok t/02-rakudo/19-begin-time-eval-sub.t ............................ ok 1 - precompiling a module returning a string-EVAL Sub from BEGIN works 1..1 ok t/02-rakudo/begin-attr-before-declaration.t ..................... 1..7 ok 1 - a BEGIN-built method can read an attribute declared after the BEGIN ok 2 - a BEGIN-built method reads a later scalar attribute default ok 3 - a BEGIN-built method can assign a later scalar attribute ok 4 - a BEGIN-built method assigns a later untyped scalar attribute ok 5 - a BEGIN-built method steps a later Int attribute ok 6 - a BEGIN-built method binds a later untyped scalar attribute # Subtest: an attribute never declared in the class is still rejected 1..2 ok 1 - 'class C { my $m = BEGIN method () { $!nope }; }' died ok 2 - right exception type (X::Attribute::Undeclared) ok 7 - an attribute never declared in the class is still rejected ok t/02-rakudo/attribute-typeobject-default.t ...................... 1..5 ok 1 - untyped attribute whose default is a type object is initialized to that type ok 2 - typed attribute whose default is its own type object holds that object ok 3 - a concrete default still works ok 4 - a default that is a sibling type object is initialized ok 5 - concurrent lock-free enqueue does not fragment the chain ok t/02-rakudo/colonpair-smiley-key-value.t ........................ 1..16 ok 1 - :D(1) is the pair D => 1 ok 2 - :U(2) is the pair U => 2 ok 3 - :_(3) is the pair _ => 3 ok 4 - :D[...] takes its value ok 5 - a smiley-keyed pair in a list keeps its value ok 6 - valueless :D is D => True ok 7 - Int:D matches a defined Int ok 8 - Int:D does not match an undefined Int ok 9 - Int:U matches an undefined Int ok 10 - Int:D constraint on a variable works ok 11 - Int:D parameter constraint works ok 12 - Str:D(Numeric) coerces a Num to a defined Str ok 13 - Str:U(Numeric) keeps its undefinedness smiley ok 14 - Str:D(Numeric) used as a value is the coercion type ok 15 - a coercion type as a colonpair value keeps its coercion ok 16 - a coercion type as a named-argument value keeps its coercion ok t/02-rakudo/coercion-subset-value-check.t ....................... 1..19 ok 1 - a value satisfying the subset coerces to itself # Subtest: a value failing the refinement is rejected after one was accepted 1..2 ok 1 - code dies ok 2 - right exception type (X::Coerce::Impossible) ok 2 - a value failing the refinement is rejected after one was accepted ok 3 - a value satisfying the subset is accepted after one was rejected ok 4 - a single call site accepts and rejects by value, not by type ok 5 - a natural number coerces to UInt # Subtest: a negative Int is rejected by UInt after a natural number was accepted 1..2 ok 1 - code dies ok 2 - right exception type (X::Coerce::Impossible) ok 6 - a negative Int is rejected by UInt after a natural number was accepted ok 7 - a Str holding an even number coerces into the subset # Subtest: a Str holding an odd number is rejected after an even one was accepted 1..2 ok 1 - code dies ok 2 - right exception type (X::Coerce::Impossible) ok 8 - a Str holding an odd number is rejected after an even one was accepted ok 9 - a Str holding an even number is accepted after an odd one was rejected ok 10 - a parameter coercing to a subset accepts a satisfying value # Subtest: a parameter coercing to a subset rejects a failing value after accepting one 1..2 ok 1 - code dies ok 2 - right exception type (X::Coerce::Impossible) ok 11 - a parameter coercing to a subset rejects a failing value after accepting one ok 12 - a parameter coercing to a subset accepts a satisfying value after rejecting one ok 13 - a subset constraint on a coercion accepts a satisfying value ok 14 - a subset constraint on a coercion rejects a failing value after accepting one ok 15 - a subset constraint on a coercion accepts a satisfying value after rejecting one ok 16 - a subset of a refined subset accepts a satisfying value # Subtest: a subset of a refined subset rejects a failing value after accepting one 1..2 ok 1 - code dies ok 2 - right exception type (X::Coerce::Impossible) ok 17 - a subset of a refined subset rejects a failing value after accepting one ok 18 - a matching value with no coercion method passes through unchanged ok 19 - a matching value with no coercion method still passes through on a repeated call ok t/02-rakudo/17-cli.t ............................................ 1..3 ok 1 - `raku -V` succeeds ok 2 - `raku -V` prints configuration options ok 3 - `raku -V` doesn't print to STDERR ok t/02-rakudo/begin-regex-precomp.t ............................... 1..3 ok 1 - the capture groups of a precompiled BEGIN regex match ok 2 - a code block of a precompiled BEGIN regex runs and makes ok 3 - a nested capture group of a precompiled BEGIN regex matches ok t/02-rakudo/compose-operator-precedence.t ....................... 1..2 ok 1 - ∘ binds looser than + ok 2 - o binds looser than + ok t/02-rakudo/20-begin-time-eval-frame-leak.t ..................... ok 1 - BEGIN block with non-serializable lexicals before EVAL does not leak the BEGIN lexpad through the EVAL Sub 1..1 ok t/02-rakudo/constant-anon-var-value.t ........................... 1..6 ok 1 - anonymous native unsigned variable initialises the constant ok 2 - anonymous native int variable initialises the constant ok 3 - anonymous native num variable initialises the constant ok 4 - anonymous object variable initialises the constant ok 5 - a declaration after the constant is unaffected ok 6 - anonymous native variable in a parameter default works ok t/02-rakudo/dot-assign-var-method.t ............................. 1..4 ok 1 - $n .= &double mutates $n with the result of double($n) ok 2 - $blob .= &head1 mutates $blob to the trimmed Blob result ok 3 - $x.&f standalone calls f($x) ok 4 - chained $x .= &f compositions apply each routine in order ok t/02-rakudo/begin-time-call-whatever-arg.t ...................... 1..3 ok 1 - a WhateverCode argument to a parameter trait reaches it as a Callable ok 2 - a WhateverCode argument to a routine trait reaches it as a Callable ok 3 - a WhateverCode argument to a variable trait reaches it as a Callable ok t/02-rakudo/begin-closure-doc-precomp.t ......................... 1..3 ok 1 - a precompiled BEGIN-built closure can call a setting sub ok 2 - a precompiled BEGIN-built table closure can use the array composer ok 3 - the declarator doc is still reachable through .WHY after precompilation ok t/02-rakudo/constant-assign-metaop.t ............................ 1..2 ok 1 - =%= constant produces a Map from its right operand ok 2 - separate =%= constants get separate anonymous state vars ok t/02-rakudo/container-definite-base.t ........................... 1..5 ok 1 - a `is List:D` array holds its values ok 2 - a `is List:D` array is built as a List ok 3 - a `is Map:D` hash holds its values ok 4 - a `is Map:D` hash is built as a Map ok 5 - a `is Array` array is still an Array ok t/02-rakudo/fatal-sorry-no-worries.t ............................ 1..1 # Subtest: a sorry under fatal with no accompanying worry reports the sorry 1..3 ok 1 - 'use fatal; sub f($a?, $b) { }' died ok 2 - right exception type (X::Comp) ok 3 - .message matches /'required parameter'/ ok 1 - a sorry under fatal with no accompanying worry reports the sorry ok t/02-rakudo/enum-variable-nyi.t ................................. 1..3 # Subtest: enum with a variable name panics NYI 1..2 ok 1 - 'enum $foo ' died ok 2 - right exception type (X::Comp::NYI) ok 1 - enum with a variable name panics NYI ok 2 - a named enum still composes ok 3 - an anonymous enum still composes ok t/02-rakudo/begin-time-call-regex-arg.t ......................... 1..3 ok 1 - a capturing regex in an attribute trait argument compiles and matches ok 2 - a capturing regex in a BEGIN-evaluated call compiles and matches ok 3 - a named-capture regex in a trait argument compiles and matches ok t/02-rakudo/contextualizer-6c-topic.t ........................... 1..4 ok 1 - $() yields the matched string when $/ has no made value ok 2 - $() yields the made value of $/ ok 3 - @() yields the positional captures of $/ ok 4 - %() yields the named captures of $/ ok t/02-rakudo/constant-nonconstant-lexical.t ...................... 1..7 ok 1 - a constant referencing a non-constant my-\ lexical compiles ok 2 - the unbound lexical resolves to its undefined value at the constant BEGIN ok 3 - a non-constant sigilless lexical yields Mu when held as the bare value ok 4 - a non-constant scalar lexical yields its Any default ok 5 - a non-constant array lexical yields its empty default ok 6 - a constant referencing a constant still binds its value ok 7 - a constant referencing an outer-scope constant inlines it ok t/02-rakudo/constant-gather.t ................................... 1..6 ok 1 - a %-constant from gather holds the gathered pairs ok 2 - a %-constant from gather has all the pairs ok 3 - an @-constant from gather holds the gathered values ok 4 - a $-constant from gather holds the gathered sequence ok 5 - a &-constant from a block still binds the block ok 6 - a $-constant from start runs and holds the promise ok t/02-rakudo/enum-numeric-key.t .................................. 1..4 ok 1 - enum value with a numeric-literal key is reachable by its string key ok 2 - a sunk enum declaration with a numeric-literal key composes ok 3 - enum declared then discarded inside a do block composes ok 4 - an enum with identifier keys is unaffected ok t/02-rakudo/for-scalar-slip.t ................................... 1..8 ok 1 - a statement-modifier for flattens a scalar-held Slip ok 2 - a block for flattens a scalar-held Slip ok 3 - the topic is bound to each flattened element ok 4 - a scalar-held plain value is one item ok 5 - a scalar-held list is one item ok 6 - a bare Slip iterates its elements ok 7 - a plain list iterates its elements ok 8 - an empty scalar-held Slip iterates nothing ok t/02-rakudo/forward-sub-lookup.t ................................ 1..5 ok 1 - a forward call resolves to a same-scope `sub` shadowing CORE ok 2 - a forward call resolves to a same-scope `sub` with no CORE name in play ok 3 - a sub-form call with no same-scope `sub` shadow still resolves through CORE ok 4 - a forward call resolves to a same-scope `multi sub` ok 5 - a forward call resolves to a same-scope `our sub` ok t/02-rakudo/constant-native-dispatch.t .......................... 1..8 ok 1 - # SKIP native-typed constant dispatch is NYI on the legacy frontend ok 2 - # SKIP native-typed constant dispatch is NYI on the legacy frontend ok 3 - # SKIP native-typed constant dispatch is NYI on the legacy frontend ok 4 - # SKIP native-typed constant dispatch is NYI on the legacy frontend ok 5 - a native int constant reads back its value ok 6 - a native int constant boxes to Int in object context ok 7 - a native int constant works in arithmetic ok 8 - a non-native constant still selects the boxed candidate ok t/02-rakudo/begin-indirect-lexical-6e.t ......................... 1..6 ok 1 - a 6.e BEGIN indirect lookup finds a sub declared in the compiling unit ok 2 - 6.e LEXICAL:: at BEGIN time knows a sub declared in the compiling unit ok 3 - 6.e LEXICAL:: at BEGIN time reaches the sub itself ok 4 - 6.e OUTERS:: at BEGIN time knows a sub declared in the compiling unit ok 5 - 6.e LEXICAL:: at BEGIN time still reports an undeclared name as absent ok 6 - an imported sub cannot see the calling 6.e unit through LEXICAL:: at BEGIN time ok t/02-rakudo/dump.t .............................................. 1..44 ok 1 - DUMP(:U) is .raku (Mu) ok 2 - DUMP(:U) is .raku (Junction) ok 3 - DUMP(:U) is .raku (Any) ok 4 - DUMP(:U) is .raku (Bool) ok 5 - DUMP(:U) is .raku (Cool) ok 6 - DUMP(:U) is .raku (Str) ok 7 - DUMP(:U) is .raku (Int) ok 8 - DUMP(:U) is .raku (Num) ok 9 - DUMP(:U) is .raku (Rat) ok 10 - DUMP(:U) is .raku (FatRat) ok 11 - DUMP(:U) is .raku (Complex) ok 12 - DUMP(:U) is .raku (Duration) ok 13 - DUMP(:U) is .raku (Instant) not ok 14 - DUMP(Bool:D) is .Str (False) # TODO NYI # Failed test 'DUMP(Bool:D) is .Str (False)' # at t/02-rakudo/dump.t line 22 # expected: 'False' # got: 'Bool::False' not ok 15 - DUMP(Bool:D) is .Str (True) # TODO NYI # Failed test 'DUMP(Bool:D) is .Str (True)' # at t/02-rakudo/dump.t line 23 # expected: 'True' # got: 'Bool::True' ok 16 - DUMP(Int:D) is .raku (0) ok 17 - DUMP(Int:D) is .raku (1) ok 18 - DUMP(Int:D) is .raku (-128) ok 19 - DUMP(Int:D) is .raku (123456789) ok 20 - DUMP(Int:D) is .raku (1 +< 100) ok 21 - DUMP(Num:D) is .raku (0e0) ok 22 - DUMP(Num:D) is .raku (-0e0) ok 23 - DUMP(Num:D) is .raku (Inf) ok 24 - DUMP(Num:D) is .raku (-Inf) ok 25 - DUMP(Num:D) is .raku (NaN) ok 26 - DUMP(Rat:D) is .raku (0.0) ok 27 - DUMP(Rat:D) is .raku (-0.0) ok 28 - DUMP(Rat:D) is .raku (1.1) ok 29 - DUMP(Rat:D) is .raku (-1.1) ok 30 - DUMP(Rat:D) is .raku (22/7) ok 31 - DUMP(Rat:D) is .raku (-22/7) ok 32 - DUMP(Complex:D) is .raku (0i) ok 33 - DUMP(Complex:D) is .raku (-0i) ok 34 - DUMP(Complex:D) is .raku (0+0i) ok 35 - DUMP(Complex:D) is .raku (0-0i) ok 36 - DUMP(Complex:D) is .raku (-0+0i) ok 37 - DUMP(Complex:D) is .raku (-0-0i) ok 38 - DUMP(Complex:D) is .raku (1+1i) ok 39 - DUMP(Complex:D) is .raku (1-1i) ok 40 - DUMP(Complex:D) is .raku (-1+1i) ok 41 - DUMP(Complex:D) is .raku (-1-1i) not ok 42 - DUMP(int) dumps as a literal # TODO NYI (can it even?) # Failed test 'DUMP(int) dumps as a literal' # at t/02-rakudo/dump.t line 62 # expected: '42' # got: '▶42' not ok 43 - DUMP(num) dumps as a literal # TODO NYI (can it even?) # Failed test 'DUMP(num) dumps as a literal' # at t/02-rakudo/dump.t line 63 # expected: '12345e0' # got: '▶12345e0' not ok 44 - DUMP(str) dumps as a literal # TODO NYI (can it even?) # Failed test 'DUMP(str) dumps as a literal' # at t/02-rakudo/dump.t line 64 # expected: '"a string"' # got: '▶"a string"' ok t/02-rakudo/fatal-flatten-arg.t ................................. 1..4 ok 1 - use fatal: flattening an empty hash argument ok 2 - use fatal: flattening an array argument ok 3 - use fatal: flattening an array and a hash argument together ok 4 - use fatal: a Failure flattened into a call still throws ok t/02-rakudo/curried-role-instantiation.t ........................ 1..5 ok 1 - named curry arg survives generic instantiation ok 2 - class composing a curry with a named arg typechecks against the role group ok 3 - value curry arg survives generic instantiation ok 4 - class composing a curry with a value arg typechecks against the parameterization ok 5 - pun repr of the role group reaches a curry instantiated from a generic ok t/02-rakudo/gather-take-lazy-value.t ............................ 1..5 ok 1 - a lazy Seq taken as a sunk for-loop body survives ok 2 - each taken lazy Seq keeps its own values ok 3 - the value returned by take is still usable ok 4 - take-rw still yields a writable container ok 5 - a user routine named take is sunk like any other call ok t/02-rakudo/deparse-will-trait.t ................................ 1..4 ok 1 - a will trait deparses with its phase ok 2 - the deparsed source reparses to the same deparse ok 3 - a will trait produces .raku without referencing missing attributes ok 4 - the .raku reconstruction names the trait with its phase ok t/02-rakudo/for-statement-iterator-protocol.t ................... 1..12 ok 1 - statement for with a pointy block iterates via the iterator ok 2 - statement for with a pointy block does not call a user map override ok 3 - statement for with a bare block iterates via the iterator ok 4 - statement for with a bare block does not call a user map override ok 5 - last works in a directly iterated for loop ok 6 - a labeled next reaches the outer directly iterated for loop ok 7 - modifier for iterates via the iterator ok 8 - modifier for does not call a user map override ok 9 - block modifier for iterates via the iterator ok 10 - block modifier for does not call a user map override ok 11 - an expression do-for still collects its values ok 12 - an expression do-for still dispatches to a user map override ok t/02-rakudo/13-exceptions.t ..................................... 1..14 # Subtest: exception isn't lost 1..3 ok 1 - 'sub foo ( ::T $val ) { my T $a is default($val); }; foo(42)' died ok 2 - right exception type (X::Parameter::Default::TypeCheck) ok 3 - .message matches rx:s/Default value \'\(\w+\)\' will never bind to a variable of type T/ ok 1 - exception isn't lost # Subtest: calling multi sub that expects a rw native argument with a literal is caught at compile time 1..2 ok 1 - 'multi sub f(int $foo is rw) { }; f(42)' died ok 2 - right exception type (X::Comp) ok 2 - calling multi sub that expects a rw native argument with a literal is caught at compile time # Subtest: calling multi sub that expects a rw non-native argument with a literal is caught at compile time 1..2 ok 1 - 'multi sub f(Int $foo is rw) { }; f(42)' died ok 2 - right exception type (X::Comp) ok 3 - calling multi sub that expects a rw non-native argument with a literal is caught at compile time # Subtest: inheriting from uncomposed parent 1..2 ok 1 - 'my \parent := Metamodel::ClassHOW.new_type(:name('Parent')); # my \child := Metamodel::ClassHOW.new_type(:name('Child')); # child.^add_parent(parent); # child.^compose; # ' died ok 2 - right exception type (X::Inheritance::NotComposed) ok 4 - inheriting from uncomposed parent # Subtest: passing an initializer when role cannot accept it 1..2 ok 1 - 'role R {}; my $foo = 42 but R(1)' died ok 2 - right exception type (X::Role::Initialization) ok 5 - passing an initializer when role cannot accept it # Subtest: Sigiled variables can be rebound 1..3 ok 1 - $-sigiled variable can be rebound ok 2 - @-sigiled variable can be rebound ok 3 - %-sigiled variable can be rebound ok 6 - Sigiled variables can be rebound # Subtest: Scalars in signatures be rebound if they are 'copy' or 'rw' 1..2 ok 1 - Scalars in function signatures can be rebound when they are 'is copy' ok 2 - Scalars in function signatures can be rebound when they are 'is rw' (and get a writable container) ok 7 - Scalars in signatures be rebound if they are 'copy' or 'rw' # Subtest: Scalars in signatures that aren't 'copy' or 'rw' cannot be rebound 1..4 # Subtest: Scalars in function signatures cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'$bound-scalar-in-sig'/, /'signature'/) ok 1 - Scalars in function signatures cannot be rebound # Subtest: Scalars in function signatures cannot be rebound even if they have a type constraint 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'$bound-scalar-with-type'/, /'signature'/) ok 2 - Scalars in function signatures cannot be rebound even if they have a type constraint # Subtest: Scalars in bound signatures cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'$bound-scalar'/, /'signature'/) ok 3 - Scalars in bound signatures cannot be rebound # Subtest: Scalars in more complex bound signatures cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'$bound-scalar'/, /'signature'/) ok 4 - Scalars in more complex bound signatures cannot be rebound ok 8 - Scalars in signatures that aren't 'copy' or 'rw' cannot be rebound # Subtest: Positional and Associative variables in signatures can be rebound if they are 'copy' 1..4 ok 1 - Positional variables in function signatures can be rebound when they are 'is copy' ok 2 - Positional variables in bound signatures can be rebound when they are 'is copy' ok 3 - Associative variables in function signatures can be rebound when they are 'is copy' ok 4 - Associative variables bound in signatures can be rebound when they are 'is copy' ok 9 - Positional and Associative variables in signatures can be rebound if they are 'copy' # Subtest: Positional and Associative variables in signatures that aren't 'copy' cannot be rebound 1..4 # Subtest: Positional variables in function signatures cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'@bound-positional-in-sig'/, /'signature'/) ok 1 - Positional variables in function signatures cannot be rebound # Subtest: Positional variables in bound signatures cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'@bound-positional'/, /'signature'/) ok 2 - Positional variables in bound signatures cannot be rebound # Subtest: Associative variables in function signatures cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'%bound-associative-in-sig'/, /'signature'/) ok 3 - Associative variables in function signatures cannot be rebound # Subtest: Associative variables in bound signatures cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'%bound-associative'/, /'signature'/) ok 4 - Associative variables in bound signatures cannot be rebound ok 10 - Positional and Associative variables in signatures that aren't 'copy' cannot be rebound # Subtest: Sigilless "variables" can never be rebound 1..4 # Subtest: Sigilless scalar terms cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'sigilless'/, none(/'signature'/)) ok 1 - Sigilless scalar terms cannot be rebound # Subtest: Sigilless positional terms cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'sigilless-array'/, none(/'signature'/)) ok 2 - Sigilless positional terms cannot be rebound # Subtest: Sigilless associative terms cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'sigilless-hash'/, none(/'signature'/)) ok 3 - Sigilless associative terms cannot be rebound # Subtest: Constants cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'con'/, none(/'signature'/)) ok 4 - Constants cannot be rebound ok 11 - Sigilless "variables" can never be rebound # Subtest: Code items can never be rebound 1..2 # Subtest: A sub cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'&f'/, none(/'signature'/)) ok 1 - A sub cannot be rebound # Subtest: A regex cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'®-exp'/, none(/'signature'/)) ok 2 - A regex cannot be rebound ok 12 - Code items can never be rebound # Subtest: Terms can never be rebound 1..4 # Subtest: A class cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'C'/, none(/'signature'/)) ok 1 - A class cannot be rebound # Subtest: A role cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'R'/, none(/'signature'/)) ok 2 - A role cannot be rebound # Subtest: A grammar cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'G'/, none(/'signature'/)) ok 3 - A grammar cannot be rebound # Subtest: Native types cannot be rebound 1..3 ok 1 - code dies ok 2 - right exception type (X::Bind::Rebind) ok 3 - .message matches all(/'int'/, none(/'signature'/)) ok 4 - Native types cannot be rebound ok 13 - Terms can never be rebound # Subtest: Items that were never bound don't throw *re*binding errors 1..8 ok 1 - Binding to a native type doesn't throw X::Bind::Rebind # Subtest: Binding to a native type throws X::Bind::NativeType 1..2 ok 1 - code dies ok 2 - right exception type (X::Bind::NativeType) ok 2 - Binding to a native type throws X::Bind::NativeType ok 3 - Binding to a literal doesn't throw X::Bind::Rebind # Subtest: Binding to a literal throws X::Bind 1..2 ok 1 - code dies ok 2 - right exception type (X::Bind) ok 4 - Binding to a literal throws X::Bind ok 5 - Binding to a function call LHS doesn't throw X::Bind::Rebind # Subtest: Binding to a function call LHS throws X::Bind 1..2 ok 1 - code dies ok 2 - right exception type (X::Bind) ok 6 - Binding to a function call LHS throws X::Bind ok 7 - Binding to a pseudo-package LHS doesn't throw X::Bind::Rebind # Subtest: Binding to a pseudo-package LHS throws X::Bind 1..2 ok 1 - code dies ok 2 - right exception type (X::Bind) ok 8 - Binding to a pseudo-package LHS throws X::Bind ok 14 - Items that were never bound don't throw *re*binding errors ok t/02-rakudo/grammar-6e-subparse-actions.t ....................... 1..3 ok 1 - subparse accepts Mu as the actions ok 2 - parse accepts Mu as the actions ok 3 - subparse still runs a real actions class ok t/02-rakudo/flattened-param-bind.t .............................. 1..23 ok 1 - an itemized element stays a single hash key inside the loop body ok 2 - the loop parameter reports a Scalar container via .VAR ok 3 - assigning to the read-only loop parameter dies ok 4 - the source element is untouched after an assignment attempt # Subtest: binding a value that is not Positional to an @ loop parameter dies 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 5 - binding a value that is not Positional to an @ loop parameter dies # Subtest: binding a value that is not Associative to a % loop parameter dies 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 6 - binding a value that is not Associative to a % loop parameter dies # Subtest: binding a value that is not Callable to an & loop parameter dies 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 7 - binding a value that is not Callable to an & loop parameter dies ok 8 - an @ loop parameter binds Positional values ok 9 - an @ loop parameter binds the source array itself, not a copy ok 10 - a % loop parameter binds Associative values ok 11 - an & loop parameter binds Callable values and is callable in the body ok 12 - an itemized Seq element binds to an @ loop parameter ok 13 - the parameter holds the cached List of the Seq element ok 14 - an itemized Seq given topic binds to an @ parameter ok 15 - a Seq eigenstate binds through its cached List ok 16 - a Junction element autothreads over its eigenstates, depth first ok 17 - eigenstates before a failing one still run the body ok 18 - a failing eigenstate reports the binder error for the parameter ok 19 - an itemized given topic stays a single hash key # Subtest: binding a value that is not Positional to an @ given parameter dies 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 20 - binding a value that is not Positional to an @ given parameter dies ok 21 - a Junction given topic autothreads through an @ parameter ok 22 - a value producing given with an @ parameter returns the body value ok 23 - a value producing given with a scalar parameter returns the body value ok t/02-rakudo/04-settingkeys-6e.t ................................. 1..2 ok 1 - all allowed symbols found ok 2 - No unexpected entries in SETTING:: ok t/02-rakudo/12-proto-arity-count.t .............................. 1..345 ok 1 - `&abs`'s proto's .count and .arity are good ok 2 - `&acos`'s proto's .count and .arity are good ok 3 - `&acosec`'s proto's .count and .arity are good ok 4 - `&acosech`'s proto's .count and .arity are good ok 5 - `&acosh`'s proto's .count and .arity are good ok 6 - `&acotan`'s proto's .count and .arity are good ok 7 - `&acotanh`'s proto's .count and .arity are good ok 8 - `&all`'s proto's .count and .arity are good ok 9 - `&any`'s proto's .count and .arity are good ok 10 - `&append`'s proto's .count and .arity are good ok 11 - `&asec`'s proto's .count and .arity are good ok 12 - `&asech`'s proto's .count and .arity are good ok 13 - `&asin`'s proto's .count and .arity are good ok 14 - `&asinh`'s proto's .count and .arity are good ok 15 - `&atan`'s proto's .count and .arity are good ok 16 - `&atan2`'s proto's .count and .arity are good ok 17 - `&atanh`'s proto's .count and .arity are good ok 18 - `&atomic-add-fetch`'s proto's .count and .arity are good ok 19 - `&atomic-assign`'s proto's .count and .arity are good ok 20 - `&atomic-dec-fetch`'s proto's .count and .arity are good ok 21 - `&atomic-fetch`'s proto's .count and .arity are good ok 22 - `&atomic-fetch-add`'s proto's .count and .arity are good ok 23 - `&atomic-fetch-dec`'s proto's .count and .arity are good ok 24 - `&atomic-fetch-inc`'s proto's .count and .arity are good ok 25 - `&atomic-fetch-sub`'s proto's .count and .arity are good ok 26 - `&atomic-inc-fetch`'s proto's .count and .arity are good ok 27 - `&atomic-sub-fetch`'s proto's .count and .arity are good ok 28 - `&await`'s proto's .count and .arity are good ok 29 - `&bag`'s proto's .count and .arity are good ok 30 - `&cache`'s proto's .count and .arity are good ok 31 - `&cas`'s proto's .count and .arity are good ok 32 - `&categorize`'s proto's .count and .arity are good ok 33 - `&ceiling`'s proto's .count and .arity are good ok 34 - `&chars`'s proto's .count and .arity are good ok 35 - `&chdir`'s proto's .count and .arity are good ok 36 - `&chmod`'s proto's .count and .arity are good ok 37 - `&chomp`'s proto's .count and .arity are good ok 38 - `&chop`'s proto's .count and .arity are good ok 39 - `&chr`'s proto's .count and .arity are good ok 40 - `&chrs`'s proto's .count and .arity are good ok 41 - `&circumfix:<[ ]>`'s proto's .count and .arity are good ok 42 - `&circumfix:<{ }>`'s proto's .count and .arity are good ok 43 - `&cis`'s proto's .count and .arity are good ok 44 - `&classify`'s proto's .count and .arity are good ok 45 - `&close`'s proto's .count and .arity are good ok 46 - `&comb`'s proto's .count and .arity are good ok 47 - `&combinations`'s proto's .count and .arity are good ok 48 - `©`'s proto's .count and .arity are good ok 49 - `&cos`'s proto's .count and .arity are good ok 50 - `&cosec`'s proto's .count and .arity are good ok 51 - `&cosech`'s proto's .count and .arity are good ok 52 - `&cosh`'s proto's .count and .arity are good ok 53 - `&cotan`'s proto's .count and .arity are good ok 54 - `&cotanh`'s proto's .count and .arity are good ok 55 - `&deepmap`'s proto's .count and .arity are good ok 56 - `&defined`'s proto's .count and .arity are good ok 57 - `&die`'s proto's .count and .arity are good ok 58 - `&duckmap`'s proto's .count and .arity are good ok 59 - `&elems`'s proto's .count and .arity are good ok 60 - `&end`'s proto's .count and .arity are good ok 61 - `&EVAL`'s proto's .count and .arity are good ok 62 - `&EVALFILE`'s proto's .count and .arity are good ok 63 - `&exit`'s proto's .count and .arity are good ok 64 - `&exp`'s proto's .count and .arity are good ok 65 - `&expmod`'s proto's .count and .arity are good ok 66 - `&fail`'s proto's .count and .arity are good ok 67 - `&fc`'s proto's .count and .arity are good ok 68 - `&first`'s proto's .count and .arity are good ok 69 - `&flat`'s proto's .count and .arity are good ok 70 - `&flip`'s proto's .count and .arity are good ok 71 - `&floor`'s proto's .count and .arity are good ok 72 - `&full-barrier`'s proto's .count and .arity are good ok 73 - `&get`'s proto's .count and .arity are good ok 74 - `&getc`'s proto's .count and .arity are good ok 75 - `&gist`'s proto's .count and .arity are good ok 76 - `&goto`'s proto's .count and .arity are good ok 77 - `&grep`'s proto's .count and .arity are good ok 78 - `&hash`'s proto's .count and .arity are good ok 79 - `&index`'s proto's .count and .arity are good ok 80 - `&indices`'s proto's .count and .arity are good ok 81 - `&indir`'s proto's .count and .arity are good ok 82 - `&infix:<^^>`'s proto's .count and .arity are good ok 83 - `&infix:<^>`'s proto's .count and .arity are good ok 84 - `&infix:<^..^>`'s proto's .count and .arity are good ok 85 - `&infix:<^..>`'s proto's .count and .arity are good ok 86 - `&infix:<~^>`'s proto's .count and .arity are good ok 87 - `&infix:<~~>`'s proto's .count and .arity are good ok 88 - `&infix:<~>`'s proto's .count and .arity are good ok 89 - `&infix:<~|>`'s proto's .count and .arity are good ok 90 - `&infix:<~&>`'s proto's .count and .arity are good ok 91 - `&infix:«(<=)»`'s proto's .count and .arity are good ok 92 - `&infix:«(<)»`'s proto's .count and .arity are good ok 93 - # SKIP `infix:«(<+)»` is not a multi ok 94 - `&infix:«(>=)»`'s proto's .count and .arity are good ok 95 - `&infix:«(>)»`'s proto's .count and .arity are good ok 96 - # SKIP `infix:«(>+)»` is not a multi ok 97 - `&infix:<=~=>`'s proto's .count and .arity are good ok 98 - `&infix:<===>`'s proto's .count and .arity are good ok 99 - `&infix:<==>`'s proto's .count and .arity are good ok 100 - `&infix:<=:=>`'s proto's .count and .arity are good ok 101 - `&infix:<|>`'s proto's .count and .arity are good ok 102 - `&infix:<||>`'s proto's .count and .arity are good ok 103 - `&infix:<->`'s proto's .count and .arity are good ok 104 - `&infix:<,>`'s proto's .count and .arity are good ok 105 - `&infix:`'s proto's .count and .arity are good ok 106 - `&infix:`'s proto's .count and .arity are good ok 107 - `&infix:`'s proto's .count and .arity are good ok 108 - `&infix:`'s proto's .count and .arity are good ok 109 - `&infix:`'s proto's .count and .arity are good ok 110 - `&infix:`'s proto's .count and .arity are good ok 111 - `&infix:`'s proto's .count and .arity are good ok 112 - `&infix:<..^>`'s proto's .count and .arity are good ok 113 - `&infix:<..>`'s proto's .count and .arity are good ok 114 - `&infix:<...^>`'s proto's .count and .arity are good ok 115 - `&infix:<...>`'s proto's .count and .arity are good ok 116 - `&infix:<(^)>`'s proto's .count and .arity are good ok 117 - `&infix:<(|)>`'s proto's .count and .arity are good ok 118 - `&infix:<(-)>`'s proto's .count and .arity are good ok 119 - `&infix:<(.)>`'s proto's .count and .arity are good ok 120 - `&infix:<(&)>`'s proto's .count and .arity are good ok 121 - `&infix:<(+)>`'s proto's .count and .arity are good ok 122 - `&infix:<*>`'s proto's .count and .arity are good ok 123 - `&infix:<**>`'s proto's .count and .arity are good ok 124 - `&infix:<&>`'s proto's .count and .arity are good ok 125 - `&infix:<&&>`'s proto's .count and .arity are good ok 126 - `&infix:<%>`'s proto's .count and .arity are good ok 127 - `&infix:<%%>`'s proto's .count and .arity are good ok 128 - `&infix:<+^>`'s proto's .count and .arity are good ok 129 - `&infix:<+>`'s proto's .count and .arity are good ok 130 - `&infix:<+|>`'s proto's .count and .arity are good ok 131 - `&infix:<+&>`'s proto's .count and .arity are good ok 132 - `&infix:<...^>`'s proto's .count and .arity are good ok 133 - `&infix:<⚛=>`'s proto's .count and .arity are good ok 134 - `&infix:<⊄>`'s proto's .count and .arity are good ok 135 - `&infix:<⊃>`'s proto's .count and .arity are good ok 136 - `&infix:<⊅>`'s proto's .count and .arity are good ok 137 - `&infix:<∉>`'s proto's .count and .arity are good ok 138 - `&infix:<(cont)>`'s proto's .count and .arity are good ok 139 - `&infix:<∌>`'s proto's .count and .arity are good ok 140 - `&infix:<...>`'s proto's .count and .arity are good ok 141 - `&infix:<⊈>`'s proto's .count and .arity are good ok 142 - `&infix:<⊇>`'s proto's .count and .arity are good ok 143 - `&infix:<⊉>`'s proto's .count and .arity are good ok 144 - # SKIP `infix:<≼>` is not a multi ok 145 - # SKIP `infix:<≽>` is not a multi ok 146 - `&infix:<⚛-=>`'s proto's .count and .arity are good ok 147 - `&infix:<⚛+=>`'s proto's .count and .arity are good ok 148 - `&infix:«<=>»`'s proto's .count and .arity are good ok 149 - `&infix:«<=»`'s proto's .count and .arity are good ok 150 - `&infix:«<»`'s proto's .count and .arity are good ok 151 - `&infix:«=>»`'s proto's .count and .arity are good ok 152 - `&infix:«>=»`'s proto's .count and .arity are good ok 153 - `&infix:«>»`'s proto's .count and .arity are good ok 154 - `&infix:«+<»`'s proto's .count and .arity are good ok 155 - `&infix:«+>»`'s proto's .count and .arity are good ok 156 - `&infix:`'s proto's .count and .arity are good ok 157 - `&infix:`'s proto's .count and .arity are good ok 158 - `&infix:`'s proto's .count and .arity are good ok 159 - `&infix:`'s proto's .count and .arity are good ok 160 - `&infix:`'s proto's .count and .arity are good ok 161 - `&infix:`'s proto's .count and .arity are good ok 162 - `&infix:`'s proto's .count and .arity are good ok 163 - `&infix:<(cont)>`'s proto's .count and .arity are good ok 164 - `&infix:

`'s proto's .count and .arity are good ok 165 - `&infix:`'s proto's .count and .arity are good ok 166 - `&infix:<(elem)>`'s proto's .count and .arity are good ok 167 - `&infix:`'s proto's .count and .arity are good ok 168 - `&infix:`'s proto's .count and .arity are good ok 169 - `&infix:`'s proto's .count and .arity are good ok 170 - `&infix:`'s proto's .count and .arity are good ok 171 - `&infix:`'s proto's .count and .arity are good ok 172 - `&infix:`'s proto's .count and .arity are good ok 173 - `&infix:`'s proto's .count and .arity are good ok 174 - `&infix:`'s proto's .count and .arity are good ok 175 - `&infix:`'s proto's .count and .arity are good ok 176 - `&infix:`'s proto's .count and .arity are good ok 177 - `&infix:`'s proto's .count and .arity are good ok 178 - `&infix:`'s proto's .count and .arity are good ok 179 - `&infix:`'s proto's .count and .arity are good ok 180 - `&infix:`'s proto's .count and .arity are good ok 181 - `&infix:`'s proto's .count and .arity are good ok 182 - `&infix:`'s proto's .count and .arity are good ok 183 - `&infix:`'s proto's .count and .arity are good ok 184 - `&infix:`'s proto's .count and .arity are good ok 185 - `&infix:`'s proto's .count and .arity are good ok 186 - `&infix:`'s proto's .count and .arity are good ok 187 - `&infix:`'s proto's .count and .arity are good ok 188 - `&infix:`'s proto's .count and .arity are good ok 189 - `&infix:`'s proto's .count and .arity are good ok 190 - `&infix:`'s proto's .count and .arity are good ok 191 - `&is-prime`'s proto's .count and .arity are good ok 192 - `&item`'s proto's .count and .arity are good ok 193 - `&join`'s proto's .count and .arity are good ok 194 - `&keys`'s proto's .count and .arity are good ok 195 - `&kv`'s proto's .count and .arity are good ok 196 - `&last`'s proto's .count and .arity are good ok 197 - `&lc`'s proto's .count and .arity are good ok 198 - `&lines`'s proto's .count and .arity are good ok 199 - `&link`'s proto's .count and .arity are good ok 200 - `&list`'s proto's .count and .arity are good ok 201 - `&log`'s proto's .count and .arity are good ok 202 - `&log10`'s proto's .count and .arity are good ok 203 - `&log2`'s proto's .count and .arity are good ok 204 - `&lsb`'s proto's .count and .arity are good ok 205 - # SKIP `make` is not a multi ok 206 - `&map`'s proto's .count and .arity are good ok 207 - `&max`'s proto's .count and .arity are good ok 208 - `&min`'s proto's .count and .arity are good ok 209 - `&minmax`'s proto's .count and .arity are good ok 210 - `&mix`'s proto's .count and .arity are good ok 211 - `&mkdir`'s proto's .count and .arity are good ok 212 - `&move`'s proto's .count and .arity are good ok 213 - `&msb`'s proto's .count and .arity are good ok 214 - `&next`'s proto's .count and .arity are good ok 215 - `&nodemap`'s proto's .count and .arity are good ok 216 - `&none`'s proto's .count and .arity are good ok 217 - `¬`'s proto's .count and .arity are good ok 218 - `¬e`'s proto's .count and .arity are good ok 219 - `&one`'s proto's .count and .arity are good ok 220 - `&open`'s proto's .count and .arity are good ok 221 - `&ord`'s proto's .count and .arity are good ok 222 - `&ords`'s proto's .count and .arity are good ok 223 - `&pair`'s proto's .count and .arity are good ok 224 - `&pairs`'s proto's .count and .arity are good ok 225 - `&parse-base`'s proto's .count and .arity are good ok 226 - `&permutations`'s proto's .count and .arity are good ok 227 - `&pick`'s proto's .count and .arity are good ok 228 - `&pop`'s proto's .count and .arity are good ok 229 - `&postcircumfix:<[ ]>`'s proto's .count and .arity are good ok 230 - `&postcircumfix:<[; ]>`'s proto's .count and .arity are good ok 231 - `&postcircumfix:<{ }>`'s proto's .count and .arity are good ok 232 - `&postcircumfix:<{; }>`'s proto's .count and .arity are good ok 233 - `&postfix:<-->`'s proto's .count and .arity are good ok 234 - `&postfix:<++>`'s proto's .count and .arity are good ok 235 - `&postfix:<ⁿ>`'s proto's .count and .arity are good ok 236 - `&postfix:<⚛-->`'s proto's .count and .arity are good ok 237 - `&postfix:<⚛++>`'s proto's .count and .arity are good ok 238 - `&postfix:`'s proto's .count and .arity are good ok 239 - `&prefix:<^>`'s proto's .count and .arity are good ok 240 - `&prefix:<~^>`'s proto's .count and .arity are good ok 241 - `&prefix:<~>`'s proto's .count and .arity are good ok 242 - `&prefix:<|>`'s proto's .count and .arity are good ok 243 - `&prefix:<->`'s proto's .count and .arity are good ok 244 - `&prefix:<-->`'s proto's .count and .arity are good ok 245 - `&prefix:<--⚛>`'s proto's .count and .arity are good ok 246 - `&prefix:`'s proto's .count and .arity are good ok 247 - `&prefix:`'s proto's .count and .arity are good ok 248 - `&prefix:`'s proto's .count and .arity are good ok 249 - `&prefix:<+^>`'s proto's .count and .arity are good ok 250 - `&prefix:<+>`'s proto's .count and .arity are good ok 251 - `&prefix:<++>`'s proto's .count and .arity are good ok 252 - `&prefix:<++⚛>`'s proto's .count and .arity are good ok 253 - `&prefix:<⚛>`'s proto's .count and .arity are good ok 254 - `&prefix:`'s proto's .count and .arity are good ok 255 - `&prefix:`'s proto's .count and .arity are good ok 256 - `&prepend`'s proto's .count and .arity are good ok 257 - `&print`'s proto's .count and .arity are good ok 258 - `&printf`'s proto's .count and .arity are good ok 259 - `&produce`'s proto's .count and .arity are good ok 260 - `&prompt`'s proto's .count and .arity are good ok 261 - `&push`'s proto's .count and .arity are good ok 262 - `&put`'s proto's .count and .arity are good ok 263 - `&rand`'s proto's .count and .arity are good ok 264 - `&redo`'s proto's .count and .arity are good ok 265 - `&reduce`'s proto's .count and .arity are good ok 266 - `&rename`'s proto's .count and .arity are good ok 267 - `&repeated`'s proto's .count and .arity are good ok 268 - `&return`'s proto's .count and .arity are good ok 269 - `&return-rw`'s proto's .count and .arity are good ok 270 - `&reverse`'s proto's .count and .arity are good ok 271 - `&rindex`'s proto's .count and .arity are good ok 272 - `&rmdir`'s proto's .count and .arity are good ok 273 - `&roll`'s proto's .count and .arity are good ok 274 - `&roots`'s proto's .count and .arity are good ok 275 - `&rotate`'s proto's .count and .arity are good ok 276 - `&round`'s proto's .count and .arity are good ok 277 - `&roundrobin`'s proto's .count and .arity are good ok 278 - `&run`'s proto's .count and .arity are good ok 279 - `&samecase`'s proto's .count and .arity are good ok 280 - `&samemark`'s proto's .count and .arity are good ok 281 - `&say`'s proto's .count and .arity are good ok 282 - `&sec`'s proto's .count and .arity are good ok 283 - `&sech`'s proto's .count and .arity are good ok 284 - `&set`'s proto's .count and .arity are good ok 285 - `&shell`'s proto's .count and .arity are good ok 286 - `&shift`'s proto's .count and .arity are good ok 287 - `&sign`'s proto's .count and .arity are good ok 288 - `&signal`'s proto's .count and .arity are good ok 289 - `&sin`'s proto's .count and .arity are good ok 290 - `&sinh`'s proto's .count and .arity are good ok 291 - `&sleep`'s proto's .count and .arity are good ok 292 - `&sleep-timer`'s proto's .count and .arity are good ok 293 - `&sleep-until`'s proto's .count and .arity are good ok 294 - `&slip`'s proto's .count and .arity are good ok 295 - `&so`'s proto's .count and .arity are good ok 296 - `&sort`'s proto's .count and .arity are good ok 297 - `&splice`'s proto's .count and .arity are good ok 298 - `&split`'s proto's .count and .arity are good ok 299 - `&sprintf`'s proto's .count and .arity are good ok 300 - `&sqrt`'s proto's .count and .arity are good ok 301 - `&squish`'s proto's .count and .arity are good ok 302 - `&srand`'s proto's .count and .arity are good ok 303 - `&subbuf-rw`'s proto's .count and .arity are good ok 304 - `&substr`'s proto's .count and .arity are good ok 305 - `&substr-rw`'s proto's .count and .arity are good ok 306 - `&succeed`'s proto's .count and .arity are good ok 307 - `&sum`'s proto's .count and .arity are good ok 308 - `&symlink`'s proto's .count and .arity are good ok 309 - `&take`'s proto's .count and .arity are good ok 310 - `&take-rw`'s proto's .count and .arity are good ok 311 - `&tan`'s proto's .count and .arity are good ok 312 - `&tanh`'s proto's .count and .arity are good ok 313 - `&tc`'s proto's .count and .arity are good ok 314 - `&tclc`'s proto's .count and .arity are good ok 315 - `&trait_mod:`'s proto's .count and .arity are good ok 316 - `&trait_mod:`'s proto's .count and .arity are good ok 317 - `&trait_mod:`'s proto's .count and .arity are good ok 318 - `&trait_mod:`'s proto's .count and .arity are good ok 319 - `&trait_mod:`'s proto's .count and .arity are good ok 320 - `&trait_mod:`'s proto's .count and .arity are good ok 321 - `&trait_mod:`'s proto's .count and .arity are good ok 322 - `&trait_mod:`'s proto's .count and .arity are good ok 323 - `&trim`'s proto's .count and .arity are good ok 324 - `&trim-leading`'s proto's .count and .arity are good ok 325 - `&trim-trailing`'s proto's .count and .arity are good ok 326 - `&truncate`'s proto's .count and .arity are good ok 327 - `&uc`'s proto's .count and .arity are good ok 328 - `&UNBASE`'s proto's .count and .arity are good ok 329 - `&undefine`'s proto's .count and .arity are good ok 330 - `&unimatch`'s proto's .count and .arity are good ok 331 - `&uniname`'s proto's .count and .arity are good ok 332 - `&uninames`'s proto's .count and .arity are good ok 333 - `&uniparse`'s proto's .count and .arity are good ok 334 - `&uniprop`'s proto's .count and .arity are good ok 335 - `&uniprops`'s proto's .count and .arity are good ok 336 - `&unique`'s proto's .count and .arity are good ok 337 - `&unival`'s proto's .count and .arity are good ok 338 - `&univals`'s proto's .count and .arity are good ok 339 - `&unlink`'s proto's .count and .arity are good ok 340 - `&unpolar`'s proto's .count and .arity are good ok 341 - `&unshift`'s proto's .count and .arity are good ok 342 - `&values`'s proto's .count and .arity are good ok 343 - `&warn`'s proto's .count and .arity are good ok 344 - `&wordcase`'s proto's .count and .arity are good ok 345 - `&words`'s proto's .count and .arity are good ok t/02-rakudo/grammar-6e-parse-sanity.t ........................... 1..3 # Subtest: a TOP returning a non-Match is reported by name 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /"'TOP' returned a Int object (42) rather than a Match object"/ ok 1 - a TOP returning a non-Match is reported by name # Subtest: a named rule returning a non-Match is reported by name 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /"'custom' returned a Str object (oops) rather than a Match object"/ ok 2 - a named rule returning a non-Match is reported by name ok 3 - a rule returning a Match still parses ok t/02-rakudo/hexfloat-literals.t ................................. 1..20 ok 1 - basic hexfloat with fraction ok 2 - hexfloat without fraction ok 3 - negative exponent ok 4 - hexfloat without integer part ok 5 - capital P exponent, no sign ok 6 - full-precision mantissa ok 7 - multi-digit parts ok 8 - negated hexfloat ok 9 - largest double ok 10 - smallest normal ok 11 - smallest subnormal ok 12 - subnormal tie rounds to even ok 13 - exponent overflow gives Inf ok 14 - exponent underflow gives 0 ok 15 - underscores in mantissa ok 16 - underscore in exponent ok 17 - negative zero survives ok 18 - plain hex integer literal is still an Int ok 19 - method call on hex integer literal still works # Subtest: hexfloat without p exponent is still an error 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 20 - hexfloat without p exponent is still an error ok t/02-rakudo/heredoc-attribute-default.t ......................... 1..3 ok 1 - a heredoc attribute default holds its whole body ok 2 - the body content is present, not the terminator ok 3 - the default is not the heredoc terminator word ok t/02-rakudo/has-list-declaration.t .............................. 1..18 ok 1 - a scalar attribute declared in a has list starts undefined ok 2 - an @-sigil attribute declared in a has list gets an Array container ok 3 - a %-sigil attribute declared in a has list gets a Hash container # Subtest: assigning to a whole has list is a compile time error 1..3 ok 1 - 'class GH4522-Assign { has ($.a) = 1 }' died ok 2 - right exception type (X::Comp) ok 3 - .message matches /"Cannot assign to a list of 'has' scoped declarations"/ ok 4 - assigning to a whole has list is a compile time error ok 5 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 6 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 7 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 8 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 9 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 10 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 11 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 12 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 13 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 14 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 15 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 16 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 17 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok 18 - # SKIP has list attribute traits and defaults are NYI on the legacy frontend ok t/02-rakudo/indirect-package-trailing-empty.t ................... 1..7 ok 1 - a trailing :: on a variable gives the package stash ok 2 - the package designated by $p:: is the value of $p ok 3 - subscripting the package designated by $p:: works ok 4 - an indirect name lookup ::($n) still resolves ok 5 - a leading :: qualified lookup still resolves ok 6 - a leading :: package search designates the package ok 7 - a leading :: GLOBAL lookup sees the runtime GLOBAL ok t/02-rakudo/constant-from-gather-precomp.t ...................... 1..3 ok 1 - a precompiled %-constant from gather holds the gathered pairs ok 2 - a precompiled %-constant from gather has all the pairs ok 3 - a precompiled %-constant from gather is reusable across access ok t/02-rakudo/indirect-name-dynamic.t ............................. 1..6 ok 1 - indirect lookup through a dynamic variable ok 2 - indirect lookup through a dynamic-variable expression ok 3 - indirect lookup of a bare dynamic variable ok 4 - indirect lookup through a literal string # Subtest: an empty indirect name has no symbol 1..2 ok 1 - code dies ok 2 - right exception type (X::NoSuchSymbol) ok 5 - an empty indirect name has no symbol ok 6 - require of an indirect name with a dynamic-variable expression ok t/02-rakudo/label-source-location.t ............................. 1..4 ok 1 - a label reports the source line of its declaration ok 2 - a label reports its name ok 3 - a label gist includes the text following the label name ok 4 - distinct labels report distinct source lines ok t/02-rakudo/heredoc-phaser-scope.t .............................. 1..7 ok 1 - BEGIN assignment of a heredoc reaches the outer lexical ok 2 - BEGIN assignment of a heredoc within an expression reaches the outer lexical ok 3 - CHECK assignment of a heredoc reaches the outer lexical ok 4 - a gather over a BEGIN-set heredoc lexical sees the value ok 5 - the gather processed every line of the heredoc ok 6 - a phaser after a heredoc phaser still resolves the outer lexical ok 7 - a heredoc BEGIN reading a BEGIN-set outer lexical observes its value ok t/02-rakudo/compiler-frontend-id.t .............................. 1..3 ok 1 - RakuAST frontend compiler id is a 40 digit hex digest ok 2 - legacy frontend compiler id is a 40 digit hex digest ok 3 - the two frontends have distinct compiler ids ok t/02-rakudo/is-container-shadowed-quanthash.t ................... 1..2 ok 1 - a user type named Set is built with .new, not bare-created ok 2 - the core Set keeps its empty sentinel ok t/02-rakudo/init-phaser-decont.t ................................ 1..8 ok 1 - INIT of a container yields the value, not a container ok 2 - the INIT value is correct ok 3 - the INIT value is usable as a value ok 4 - a method call reaches the value captured through INIT ok 5 - INIT of a dynamic variable yields its value ok 6 - the INIT block form also yields the value ok 7 - INIT of a not-yet-bound variable yields Mu, not a VMNull ok 8 - a constant from INIT is Mu at BEGIN, not the block ok t/02-rakudo/is-indirect-parent.t ................................ 1..4 ok 1 - role inheriting from a same-named outer type via ::Name composes ok 2 - the consuming class is-a the outer type ok 3 - a class inheriting an existing type via ::Name has its real MRO ok 4 - a signature ::Name capture still binds to the argument type ok t/02-rakudo/generic-stash-lookup.t .............................. 1..5 ok 1 - T::{$key} in a method resolves in the bound type stash ok 2 - the resolved value is the bound type member ok 3 - T::{$key} in a lexical sub resolves in the bound type stash ok 4 - T::{"literal"} resolves in the bound type stash ok 5 - a missing key resolves to an undefined value ok t/02-rakudo/enum-nested-in-same-name-package.t .................. 1..4 ok 1 - the nested enum type is reachable as Gender::Gender in the consumer ok 2 - an enum value is reachable through the fully qualified name ok 3 - the short name resolves to the same type as the fully qualified name ok 4 - the upgraded top level name is the package nested under the module ok t/02-rakudo/labels.t ............................................ 1..1 ok 1 - a labeled block with an unreferenced label compiles and yields its value ok t/02-rakudo/keyed-hash-explicit-base.t .......................... 1..8 ok 1 - a keyed `is Hash` hash keeps its key type ok 2 - a keyed `is Hash` hash stores object keys ok 3 - a keyed `is Hash` hash retrieves by object key ok 4 - a typed keyed `is Hash` hash keeps both types ok 5 - a typed keyed `is Hash` hash stores and retrieves ok 6 - a keyed hash parameterizes a parameterized base ok 7 - a keyed `is Hash` attribute keeps its key type ok 8 - a keyed hash without a base trait still keeps its key type ok t/02-rakudo/leading-pseudo-package-error.t ...................... 1..4 # Subtest: a leading CORE in a declared name reports cleanly 1..2 ok 1 - 'class CORE::Foo { }' died ok 2 - right exception type (X::PseudoPackage::InDeclaration) ok 1 - a leading CORE in a declared name reports cleanly # Subtest: a bare CORE declaration reports cleanly 1..2 ok 1 - 'class CORE { }' died ok 2 - right exception type (X::PseudoPackage::InDeclaration) ok 2 - a bare CORE declaration reports cleanly # Subtest: a bare GLOBAL declaration reports cleanly 1..3 ok 1 - 'class GLOBAL { }' died ok 2 - right exception type (Exception) ok 3 - .message matches /'package GLOBAL'/ ok 3 - a bare GLOBAL declaration reports cleanly ok 4 - a CORE pseudo-stash lookup still resolves ok t/02-rakudo/lexical-list-declaration.t .......................... 1..13 ok 1 - list assignment to a my list still distributes values ok 2 - a := initializer keeps parameter defaults as binding semantics ok 3 - a := initializer keeps named parameters as binding semantics ok 4 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 5 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 6 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 7 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 8 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 9 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 10 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 11 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 12 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok 13 - # SKIP my list variable traits and defaults are NYI on the legacy frontend ok t/02-rakudo/literalize-fallback.t ............................... 1..2 # Subtest: indirect package name from a runtime expression is reported as not compile-time known 1..3 ok 1 - 'my $*x; class ::($*x ?? "A" !! "B") { }' died ok 2 - right exception type (Exception) ok 3 - .message matches /'not compile-time known'/ ok 1 - indirect package name from a runtime expression is reported as not compile-time known ok 2 - literalize of a node with no specific candidate returns an undefined sentinel ok t/02-rakudo/generic-class-parameter-type.t ...................... 1..19 ok 1 - Array[T] parameter instantiates to Array[Int] for an Int argument pair ok 2 - Array[T] parameter binds the passed array contents ok 3 - Array[T] parameter instantiates to Array[Str] for a Str argument pair # Subtest: Array[T] parameter rejects an array whose type does not match the instantiated T 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 4 - Array[T] parameter rejects an array whose type does not match the instantiated T ok 5 - Hash[T] parameter instantiates to Hash[Int] for an Int argument pair ok 6 - Hash[T] parameter binds the passed hash contents # Subtest: Hash[T] parameter rejects a hash whose type does not match the instantiated T 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 7 - Hash[T] parameter rejects a hash whose type does not match the instantiated T ok 8 - Positional[T] parameter still binds an Array[Int] argument ok 9 - plain T parameter still binds a value of the captured type # Subtest: plain T parameter still rejects a value outside the captured type 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 10 - plain T parameter still rejects a value outside the captured type ok 11 - Array[T] parameter on a role method binds after concretization # Subtest: Array[T] parameter on a role method rejects a mismatched array after concretization 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 12 - Array[T] parameter on a role method rejects a mismatched array after concretization ok 13 - Positional[T] parameter on a role method binds after concretization ok 14 - plain T parameter on a role method still binds after concretization ok 15 - multi dispatch picks the Array[T] candidate for a matching argument pair ok 16 - multi dispatch falls back when the array type does not match T # Subtest: multi dispatch reports no match when the only candidate has a mismatched Array[T] parameter 1..2 ok 1 - code dies ok 2 - right exception type (X::Multi::NoMatch) ok 17 - multi dispatch reports no match when the only candidate has a mismatched Array[T] parameter ok 18 - multi method on a role picks the Array[T] candidate after concretization ok 19 - multi method on a role falls back for a non-array argument ok t/02-rakudo/loop-next-phaser.t .................................. 1..8 ok 1 - NEXT runs each iteration of a value-producing C-style loop ok 2 - the C-style loop still yields its values ok 3 - NEXT runs on an explicit next as well ok 4 - the skipped value is omitted ok 5 - NEXT runs when the C-style increment slot is empty ok 6 - NEXT runs each iteration of a value-producing while loop ok 7 - NEXT runs each iteration of a value-producing repeat loop ok 8 - NEXT runs each iteration of a value-producing bare loop ok t/02-rakudo/maybe-method-call.t ................................. 1..5 ok 1 - a maybe-method call invokes a method that exists ok 2 - a maybe-method call yields Nil when the method is absent ok 3 - a maybe-method call on a non-Mu object does not throw ok 4 - a maybe-method call on a non-Mu object without the method yields Nil ok 5 - a maybe-method call with a computed name still works ok t/02-rakudo/generic-copy-param.t ................................ 1..23 ok 1 - a role method can assign to a generic copy param via the pun ok 2 - a role method composed into a class can assign to a generic copy param ok 3 - the Int instantiation of a role accepts an Int assignment ok 4 - the Str instantiation of the same role accepts a Str assignment # Subtest: the Str instantiation of the same role rejects an Int assignment 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 5 - the Str instantiation of the same role rejects an Int assignment ok 6 - a sub can assign to a copy param typed by a capture in the same signature ok 7 - a T:D copy param accepts assignment after instantiation ok 8 - a coercive generic copy param coerces its argument and accepts assignment ok 9 - a ::?CLASS copy param accepts assignment in a composing class ok 10 - a named generic copy param accepts assignment ok 11 - an omitted generic copy param assigns over its default ok 12 - a passed generic copy param with a default accepts assignment ok 13 - a multi sub can assign to a generic copy param ok 14 - a role multi method can assign to a generic copy param ok 15 - a generic copy param inside a sub-signature accepts assignment # Subtest: the instantiated copy container still rejects a wrongly typed assignment 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 16 - the instantiated copy container still rejects a wrongly typed assignment ok 17 - the copy container of a generic copy param reports the instantiated type ok 18 - assigning Nil to a generic copy param restores the instantiated default ok 19 - assigning to a generic copy param leaves the argument untouched ok 20 - a constrained generic copy param accepts assignment ok 21 - a non-generic typed copy param still accepts assignment ok 22 - a non-generic typed copy param still rejects a wrongly typed argument ok 23 - an untyped copy param still accepts any assignment ok t/02-rakudo/method-literal-package.t ............................ 1..4 ok 1 - a method literal records its enclosing package ok 2 - a top-level anon method records GLOBAL ok 3 - a custom gist added via add_method works when nested ok 4 - the default .raku still works on the inner value ok t/02-rakudo/hexfloat-formatter.t ................................ 1..31 ok 1 - %a ok 2 - %A ok 3 - %a of Int drops radix point ok 4 - %a of 3e0 ok 5 - %a of negative value ok 6 - %a of +0e0 ok 7 - %a of -0e0 ok 8 - %a of max double ok 9 - %a of min subnormal is normalized ok 10 - %.0a rounds the mantissa ok 11 - %.3a rounds the mantissa ok 12 - %.13a is the exact mantissa ok 13 - %.16a pads with zeroes ok 14 - %.3a of zero fills up to precision ok 15 - rounding carries into the leading digit ok 16 - rounding carries through all digits ok 17 - tie rounds to even (up) ok 18 - tie 0x1.18 rounds to even (up) ok 19 - tie 0x1.28 rounds to even (down) ok 20 - %a with plus flag ok 21 - %a with space flag ok 22 - %a with hash flag keeps radix point ok 23 - right-justified %a ok 24 - left-justified %a ok 25 - 0-padding goes after the 0x prefix ok 26 - 0-padding of negative value ok 27 - star width and precision ok 28 - positional parameters ok 29 - %a of Inf ok 30 - %a of -Inf ok 31 - %a of NaN is padded with spaces ok t/02-rakudo/grammar-named-as-core-type-precomp.t ................ 1..3 ok 1 - a precompiled grammar named like a setting builtin loads and parses ok 2 - and it is a distinct type shadowing the builtin, not the builtin itself ok 3 - its nested our-scoped package precompiled and is reachable ok t/02-rakudo/my-package-export.t ................................. 1..2 ok 1 - the declared EXPORT package carries its OUR:: symbols ok 2 - EXPORT resolves to the user-declared package ok t/02-rakudo/metaop-assign-concat-blob.t ......................... 1..5 ok 1 - undefined variable ~= a Blob stringifies the Blob ok 2 - undefined Str-typed variable ~= a Blob stringifies the Blob ok 3 - the indirect &infix:<~=> call form stringifies the Blob ok 4 - defined variable ~= a Blob still concatenates ok 5 - undefined variable ~= a Str still works ok t/02-rakudo/for-range-native-loop.t ............................. 1..39 ok 1 - an inclusive .. range produces its values ok 2 - a ..^ range excludes its right endpoint ok 3 - a ^.. range excludes its left endpoint ok 4 - a ^..^ range excludes both endpoints ok 5 - a ^N range counts from zero ok 6 - a reversed range counts down ok 7 - a range with negative bounds produces its values ok 8 - a range with start past end runs zero times ok 9 - a modifier for over a range produces its values ok 10 - a native int variable works as a range bound ok 11 - a range with bounds past 32 bits still produces its values ok 12 - a lexically redefined range constructor is honored ok 13 - last works in a range for loop ok 14 - next works in a range for loop ok 15 - an ascending sequence produces its values ok 16 - a descending sequence produces its values ok 17 - a single element sequence produces its value ok 18 - a sequence to zero descends rather than staying empty ok 19 - a reversed sequence produces its values backward ok 20 - a sequence loop binds a native int parameter ok 21 - a variable bound keeps the sequence values ok 22 - a stepped sequence keeps its values ok 23 - a string sequence keeps its values ok 24 - last works in a sequence for loop ok 25 - next works in a sequence for loop ok 26 - a lexically redefined sequence constructor is honored ok 27 - a reversed descending sequence counts up ok 28 - last leaves a sequence with no end bound ok 29 - a sequence with bounds past 32 bits still produces its values ok 30 - a sequence with a negative start produces its values ok 31 - a sequence descending past zero produces its values ok 32 - redo repeats a sequence loop iteration once ok 33 - a modifier for over a sequence produces its values ok 34 - a non sunk for over a sequence keeps its result values ok 35 - last with a label leaves a sequence loop ok 36 - a Bool sequence stops at its single Bool element ok 37 - an enum sequence produces enum elements ok 38 - a sparse enum sequence steps by enum succession ok 39 - an allomorph start keeps its own type ok t/02-rakudo/19-mkdir.t .......................................... 1..1 # Subtest: did we fails-like X::IO::Mkdir? 1..2 ok 1 - code returned a Failure # Subtest: Failure threw when sunk 1..2 ok 1 - code dies ok 2 - right exception type (X::IO::Mkdir) ok 2 - Failure threw when sunk ok 1 - did we fails-like X::IO::Mkdir? ok t/02-rakudo/ltm-before-assertion.t .............................. 1..6 ok 1 - a parenthesized subexpression followed by an infix parses ok 2 - LTM picked the infix chain over the shorter circumfix branch ok 3 - an infix between two parenthesized subexpressions parses ok 4 - the spelling also parses the expression ok 5 - the spelling also picks the infix chain ok 6 - still rejects at a position its argument matches ok t/02-rakudo/multi-coercion-comparable.t ......................... 1..2 ok 1 - distinct coercion types on a multi parameter are not a redeclaration ok 2 - a coercion inside a sub-signature is not a redeclaration ok t/02-rakudo/hyper-race-loop-control.t ........................... 1..21 ok 1 - last in a hyper map keeps exactly the values before the control ok 2 - last in the final batch of a hyper map truncates that batch ok 3 - next in a hyper map skips the value ok 4 - redo in a hyper map reruns the block for the value ok 5 - the redone block ran exactly one extra time ok 6 - last ends a sunk hyper for loop early ok 7 - last ends a sunk race for loop early ok 8 - a labeled last ends a sunk hyper for loop early ok 9 - a labeled next in a hyper for loop compiles and runs ok 10 - the labeled next ran the body for every value ok 11 - last in a nested serial loop does not end the hyper loop ok 12 - last in a race map ends the iteration early ok 13 - a race map stopped by last still emits every value before the last ok 14 - last in a hyper grep keeps exactly the matches before the control ok 15 - next in a hyper grep excludes the value ok 16 - redo in a hyper grep re-evaluates the value ok 17 - the redone matcher ran exactly one extra time ok 18 - last in a race grep ends the iteration early ok 19 - a hyper map without loop controls produces all values in order ok 20 - a race map without loop controls produces all values # Subtest: an exception in a hyper for loop still reaches the caller 1..2 ok 1 - code dies ok 2 - right exception type (X::HyperRace::Died) ok 21 - an exception in a hyper for loop still reaches the caller ok t/02-rakudo/format-string-literal.t ............................. 1..7 ok 1 - Format.new populates .directives ok 2 - .directives is also populated on a Formatter cache hit ok 3 - # SKIP format string literals require the RakuAST frontend ok 4 - # SKIP format string literals require the RakuAST frontend ok 5 - # SKIP format string literals require the RakuAST frontend ok 6 - # SKIP format string literals require the RakuAST frontend ok 7 - # SKIP format string literals require the RakuAST frontend ok t/02-rakudo/our-constant-shadow.t ............................... 1..4 ok 1 - a nested-block constant shadows the outer one of the same name ok 2 - the outer constant is unchanged lexically outside the block ok 3 - the nested constant overwrites the package entry # Subtest: a same-scope constant redeclaration still fails 1..2 ok 1 - code dies ok 2 - right exception type (X::Redeclaration) ok 4 - a same-scope constant redeclaration still fails ok t/02-rakudo/optimize-operator-late-decl.t ....................... 1..4 ok 1 - a native int increment honors a postfix:<++> declared later in the block ok 2 - the later-declared postfix:<++> was called ok 3 - a range for loop honors an infix:<..> declared later in the block ok 4 - a modifier for loop honors a prefix:<^> declared later in the block ok t/02-rakudo/native-copy-param.t ................................. 1..18 ok 1 - an int:D copy parameter accepts assignment of a boxed Int ok 2 - a uint:D copy parameter accepts assignment of a boxed Int ok 3 - a num:D copy parameter accepts assignment of a boxed Num ok 4 - a str:D copy parameter accepts assignment of a boxed Str ok 5 - an int:D copy parameter steps with postfix increment ok 6 - an int copy parameter steps with postfix and prefix forms ok 7 - a num copy parameter steps with postfix increment ok 8 - an int copy parameter compound-steps from a parameter operand through the metaop ok 9 - an int copy parameter compound-steps from a native lexical operand ok 10 - a num copy parameter compound-steps from a float literal ok 11 - a narrow native copy parameter steps through the routine ok 12 - an int copy parameter with a default steps from the default ok 13 - assignment to an int copy parameter leaves the caller variable alone ok 14 - an int:D rw parameter still writes back to the caller ok 15 - an increment of an int rw parameter writes back to the caller ok 16 - a type object argument to an int:D copy parameter is rejected ok 17 - postfix increment on a read-only native parameter still reports immutability ok 18 - a plain int:D parameter still binds a boxed Int ok t/02-rakudo/03-corekeys-6c.t .................................... 1..1 # Subtest: Symbols in 6.c CORE:: 1..2 ok 1 - No unexpected entries ok 2 - No missing entries ok 1 - Symbols in 6.c CORE:: ok t/02-rakudo/native-arg-compile-errors.t ......................... 1..12 ok 1 - a string argument to an int parameter is refused at compile time ok 2 - a string argument to a num parameter is refused at compile time ok 3 - a string argument to an Int parameter is refused at compile time ok 4 - a string argument to a str parameter still binds ok 5 - an interpolated string argument is not refused at compile time ok 6 - a word-quoted argument with a val processor is not refused at compile time ok 7 - a string argument to all-native multi candidates is refused at compile time ok 8 - a string argument to a mixed multi still picks the Str candidate ok 9 - assigning a Rat literal to a native int variable names the variable ok 10 - assigning a Rat literal to a native int variable names the native type ok 11 - assigning a Rat literal to a native int variable suggests the Real type ok 12 - a Rat literal initializer on a native int declaration names the native variable ok t/02-rakudo/file-variable.t ..................................... 1..4 # Subtest: `$?FILE` of a -e one-liner is -e 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - `$?FILE` of a -e one-liner is -e ok 2 - `$?FILE` in a source file is an absolute path ok 3 - `$?FILE` names the file being compiled ok 4 - `$?FILE` does not leak into SETTING:: from the CORE build ok t/02-rakudo/10-nqp-ops.t ........................................ 1..2 ok 1 - p6bindattrinvres with getattr of bigint does not crash # Subtest: getlexdyn op does not segfault 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - getlexdyn op does not segfault ok t/02-rakudo/phaser-once-state.t ................................. 1..4 ok 1 - INIT once runs its body ok 2 - BEGIN once runs its body ok 3 - INIT once yields its value ok 4 - INIT once runs a multi-statement body ok t/02-rakudo/constant-native-value.t ............................. 1..4 ok 1 - an imported native-valued constant is the boxed value ok 2 - package-qualified access to a native-valued constant gives the boxed value ok 3 - method calls work on a package-qualified native-valued constant ok 4 - the constant has the same value when reached through the diamond ok t/02-rakudo/double-closure-and-xx-sink.t ........................ 1..3 # Subtest: `where { *.so }` is rejected as a double closure 1..3 ok 1 - code dies ok 2 - right exception type (X::Syntax::Malformed) ok 3 - .message matches /:i 'double closure' / ok 1 - `where { *.so }` is rejected as a double closure ok 2 - WhateverCode inside a method call argument inside a where clause compiles # Subtest: `xx` in sink context emits no compile-time warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - `xx` in sink context emits no compile-time warning ok t/02-rakudo/once-in-phasers.t ................................... 1..8 ok 1 - ENTER once in a sub fires on the first entry only ok 2 - a once inside an ENTER block fires on the first entry only ok 3 - state in an ENTER block persists across entries ok 4 - an ENTER body reads the current entry's arguments ok 5 - ENTER once in a loop body fires on the first iteration only ok 6 - a once as the body of start runs ok 7 - a plain once in a sub still fires once ok 8 - a once inside gather fires on the first iteration only ok t/02-rakudo/native-array-generic-parameterize.t ................. 1..12 ok 1 - role with array[T] attribute compiles ok 2 - attribute type instantiates to array[int] ok 3 - attribute holds an array[int] after instantiation with int ok 4 - attribute contents survive as native ints ok 5 - attribute type instantiates to array[num] for a num role instance ok 6 - attribute type instantiates to array[str] for a str role instance ok 7 - attribute type instantiates to array[uint8] for a sized native type ok 8 - attribute default array[T].new produces an array[int] ok 9 - defaulted attribute stores native ints ok 10 - a generic parameterization names itself array[T] # Subtest: instantiating with a non-native type dies with the native-type error 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /'Can only parameterize array with a native type'/ ok 11 - instantiating with a non-native type dies with the native-type error # Subtest: directly parameterizing with a non-native type still dies 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /'Can only parameterize array with a native type'/ ok 12 - directly parameterizing with a non-native type still dies ok t/02-rakudo/pseudo-package-nested.t ............................. 1..3 ok 1 - CORE nested in a declared package name is allowed ok 2 - another pseudo-package nested in a declared name is allowed # Subtest: a leading pseudo-package in a declared name is still rejected 1..2 ok 1 - 'class MY::Foo { }' died ok 2 - right exception type (X::PseudoPackage::InDeclaration) ok 3 - a leading pseudo-package in a declared name is still rejected ok t/02-rakudo/once-in-role-sub.t .................................. 1..5 ok 1 - once in a role sub returns its value ok 2 - once in a role sub does not re-run on a later call ok 3 - the once body ran exactly once ok 4 - once with an expression in a role sub returns its value ok 5 - once in an exported sub in a role works ok t/02-rakudo/03-corekeys-6e.t .................................... 1..1 # Subtest: Symbols in 6.e CORE:: 1..2 ok 1 - No unexpected entries ok 2 - No missing entries ok 1 - Symbols in 6.e CORE:: ok t/02-rakudo/my-role-group-in-package.t .......................... 1..6 ok 1 - three my-role variants in a class body form a group ok 2 - my-role variants join the group inside a role body too ok 3 - group dispatches to the single-arg variant ok 4 - group dispatches to the two-arg variant ok 5 - a my-role group inside a package shadows an outer lexical of the same name # Subtest: redeclaring the group name as a class is still an error 1..2 ok 1 - 'class F { # my role R[Str $c] { } # my class R { } # } # ' died ok 2 - right exception type (X::Redeclaration) ok 6 - redeclaring the group name as a class is still an error ok t/02-rakudo/postfix-hyper.t ..................................... 1..10 ok 1 - a hyper power postfix applies element-wise ok 2 - a hyper meta-method call acts on the operand itself ok 3 - a hyper meta-method call on a type object resolves ok 4 - a hyper unqualified private method call applies element-wise ok 5 - a hyper method call applies element-wise ok 6 - a hyper postcircumfix index applies element-wise ok 7 - a hyper empty-index zen slice yields each element unchanged ok 8 - a hyper zen slice preserves nested elements ok 9 - a hyper zen slice on a single element yields that element ok 10 - a hyper `<>` hash zen slice errors, not selects nothing ok t/02-rakudo/exporthow-my-scope.t ................................ 1..4 ok 1 - a module with a bare `package EXPORTHOW` loads without a GLOBAL clash ok 2 - the bare EXPORTHOW override composes classes with its own HOW ok 3 - a subset still parses after using a module that used an EXPORTHOW module not ok 4 - the class declarator override does not travel transitively # TODO the legacy frontend hands a used module's declarator overrides on to consumers # Failed test 'the class declarator override does not travel transitively' # at t/02-rakudo/exporthow-my-scope.t line 33 # expected: 'clean' # got: 'leaked' ok t/02-rakudo/prefix-tilde-blob.t ................................. 1..8 ok 1 - prefix ~ on a utf8 decodes ok 2 - prefix ~ on a utf8 gives a Str ok 3 - prefix ~ on a utf16 decodes # Subtest: prefix ~ on a Buf still throws, naming the ~ operator 1..3 ok 1 - code dies ok 2 - right exception type (X::Buf::AsStr) ok 3 - .message matches rx/"'~'"/ ok 4 - prefix ~ on a Buf still throws, naming the ~ operator # Subtest: concatenating a Buf throws, naming the ~ operator 1..3 ok 1 - code dies ok 2 - right exception type (X::Buf::AsStr) ok 3 - .message matches rx/"'~'"/ ok 5 - concatenating a Buf throws, naming the ~ operator # Subtest: the error still suggests decode 1..3 ok 1 - code dies ok 2 - right exception type (X::Buf::AsStr) ok 3 - .message matches rx/decode/ ok 6 - the error still suggests decode # Subtest: prefix ~ on a Blob still throws 1..2 ok 1 - code dies ok 2 - right exception type (X::Buf::AsStr) ok 7 - prefix ~ on a Blob still throws ok 8 - infix ~ with a utf8 still concatenates ok t/02-rakudo/04-settingkeys-6c.t ................................. 1..2 ok 1 - all allowed symbols found ok 2 - No unexpected entries in SETTING:: ok t/02-rakudo/generic-native-parameters.t ......................... 1..27 ok 1 - a generic parameter instantiated with int accepts an Int argument ok 2 - a generic parameter instantiated with int accepts a native int argument # Subtest: a generic parameter instantiated with int rejects a Str argument 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - a generic parameter instantiated with int rejects a Str argument ok 4 - a multi with a generic parameter instantiated with int dispatches ok 5 - an Int argument picks the generic candidate instantiated with int ok 6 - a Str argument picks the Str candidate beside an int instantiated one ok 7 - a native int argument picks the generic candidate instantiated with int ok 8 - a generic parameter instantiated with int:D accepts a value # Subtest: a generic parameter instantiated with int:D rejects a type object 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 9 - a generic parameter instantiated with int:D rejects a type object ok 10 - a generic return type instantiated with int passes an Int return # Subtest: a generic return type instantiated with int rejects a Str return 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Return) ok 11 - a generic return type instantiated with int rejects a Str return ok 12 - a definite generic return type instantiated with int passes a value # Subtest: a definite generic return type instantiated with int rejects a type object 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 13 - a definite generic return type instantiated with int rejects a type object # Subtest: a definite generic return type instantiated with int rejects a Str value 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Return) ok 14 - a definite generic return type instantiated with int rejects a Str value ok 15 - a generic parameter instantiated with int16 accepts an Int argument # Subtest: a generic parameter instantiated with int16 rejects a Str argument 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 16 - a generic parameter instantiated with int16 rejects a Str argument ok 17 - a generic parameter instantiated with num32 accepts a Num argument ok 18 - a generic parameter instantiated with uint8 accepts an Int argument ok 19 - a definite generic parameter instantiated with int accepts a value # Subtest: a definite generic parameter instantiated with int rejects a type object 1..2 ok 1 - code dies ok 2 - right exception type (X::Parameter::InvalidConcreteness) ok 20 - a definite generic parameter instantiated with int rejects a type object ok 21 - an undefined generic parameter instantiated with int accepts the box type object ok 22 - a generic parameter instantiated with num accepts a Num argument ok 23 - a generic parameter instantiated with str accepts a Str argument ok 24 - an int instantiated generic parameter reports Int as its type ok 25 - a generic parameter instantiated with Int still binds ok 26 - an Int instantiated generic parameter reports Int as its type ok 27 - a role method parameter declared int still binds a native argument ok t/02-rakudo/native-rw-param-writeback.t ......................... 1..16 ok 1 - a for loop over a native int array writes back through <-> int ok 2 - a for loop over a native uint array writes back through <-> uint ok 3 - a for loop over a native num array writes back through <-> num ok 4 - a for loop over a native str array writes back through <-> str ok 5 - a for loop taking two <-> int parameters writes back through both ok 6 - calling a <-> block with a native int variable writes back ok 7 - a native parameter of a <-> block introspects as rw ok 8 - an is copy native parameter of a <-> block still writes back ok 9 - an is copy ordinary parameter of a <-> block still writes back ok 10 - a sub with a native int is rw parameter writes back ok 11 - a sub with a native int is copy parameter does not write back ok 12 - a for loop over an ordinary array writes back through a <-> parameter ok 13 - a native int declared in a declarator signature accepts assignment ok 14 - a native num declared in a declarator signature accepts assignment ok 15 - a declarator signature holding one native int takes its initializer # Subtest: a for loop over a range of values rejects a <-> int parameter 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /'modifiable native int'/ ok 16 - a for loop over a range of values rejects a <-> int parameter ok t/02-rakudo/native-return-coercion.t ............................ 1..23 ok 1 - native-return sub widens to num on assignment ok 2 - native-return multi widens to num on assignment ok 3 - int * int widens to num on assignment ok 4 - int + int widens to num on assignment ok 5 - nested native int operators widen to num ok 6 - literal and native int mix computes the boxed result ok 7 - boxed Int operand keeps the result boxed ok 8 - parenthesized native results widen to num ok 9 - a parenthesized loop modifier stays an Iterable ok 10 - chained native multiply widens to num ok 11 - native prefix result participates in native dispatch ok 12 - all-native exponentiation widens to num ok 13 - native prefix negate widens to num ok 14 - num + num narrows to int on assignment ok 15 - native str return assigns to str ok 16 - rw routine with native return stays an lvalue ok 17 - boxed Int to native num still requires explicit coercion ok 18 - boxed Int return to native num still requires coercion ok 19 - subset return to native num still requires coercion ok 20 - div by a native zero throws ok 21 - Failure from a native-return multi flows through // ok 22 - Failure from a native-return sub stays soft in object context ok 23 - a named argument still lets the declared native return widen ok t/02-rakudo/generic-native-attributes.t ......................... 1..46 ok 1 - postfix increment works on a generic attribute instantiated with int ok 2 - postfix decrement works on a generic attribute instantiated with int ok 3 - prefix increment works on a generic attribute instantiated with int ok 4 - assignment works on a generic attribute instantiated with int ok 5 - compound assignment works on a generic attribute instantiated with int ok 6 - a read returns the stored value ok 7 - a read of an int instantiated generic attribute returns an Int ok 8 - postfix increment works on a generic attribute instantiated with num ok 9 - assignment and concatenation work on a generic attribute instantiated with str ok 10 - postfix increment works on a generic attribute instantiated with uint ok 11 - compound assignment works on a generic attribute instantiated with int8 ok 12 - an int instantiated generic attribute reports Int as its type ok 13 - an untouched int instantiated generic attribute reads as the Int type object # Subtest: assigning a non-numeric value to an int instantiated generic attribute dies 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck) ok 14 - assigning a non-numeric value to an int instantiated generic attribute dies ok 15 - assigning Nil resets an int instantiated generic attribute to Int ok 16 - a definite generic attribute instantiated with int steps ok 17 - a definite int instantiated generic attribute reports Int:D as its type # Subtest: a definite int instantiated generic attribute rejects a type object 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 18 - a definite int instantiated generic attribute rejects a type object ok 19 - a default value initializes an int instantiated generic attribute ok 20 - a named constructor argument initializes an int instantiated generic attribute ok 21 - the generated rw accessor writes an int instantiated generic attribute ok 22 - each object steps its own copy of an int instantiated generic attribute ok 23 - stepping one object does not disturb another ok 24 - a role attribute declared int keeps its native type ok 25 - postfix increment works on a role attribute declared int ok 26 - a generic attribute survives a role to role generic pass through instantiated with int ok 27 - a method in the outer role reaches the passed through generic attribute ok 28 - a generic attribute instantiated with int inside an intermediate role steps ok 29 - a method in the consuming role reaches the instantiated generic attribute ok 30 - a punned role steps a generic attribute instantiated with int ok 31 - a punned role constructs a generic attribute instantiated with int ok 32 - an untouched generic attribute on a pun reads as the Int type object ok 33 - a runtime does mixin steps a generic attribute instantiated with int ok 34 - a runtime but mixin steps a generic attribute instantiated with int ok 35 - postfix increment works on a generic attribute instantiated with int16 ok 36 - compound assignment works on a generic attribute instantiated with num32 ok 37 - an undefined generic attribute instantiated with int stores the box type object # Subtest: an undefined generic attribute instantiated with int rejects a concrete value 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 38 - an undefined generic attribute instantiated with int rejects a concrete value ok 39 - a method ahead of a native attribute declaration steps it ok 40 - a method ahead of a native num attribute declaration compound assigns it ok 41 - a method ahead of a native str attribute declaration concatenates onto it ok 42 - a method ahead of a native uint8 attribute declaration steps it ok 43 - a class body method steps a native attribute supplied by a role ok 44 - a class body method steps a generic role attribute instantiated with int ok 45 - postfix increment works on a generic attribute instantiated with Int ok 46 - an Int instantiated generic attribute reports Int as its type ok t/02-rakudo/qualified-method-call-unresolved.t .................. 1..4 ok 1 - a qualified call to a not-in-scope qualifier compiles ok 2 - a qualified call to an in-scope type dispatches to its method # Subtest: a qualifier that resolves to nothing reports an invalid qualifier at runtime 1..2 ok 1 - code dies ok 2 - right exception type (X::Method::InvalidQualifier) ok 3 - a qualifier that resolves to nothing reports an invalid qualifier at runtime ok 4 - a hyper qualified call dispatches to the qualifier type ok t/02-rakudo/import-shadows-setting-type.t ....................... 1..6 ok 1 - the imported same-named subclass shadows the setting type ok 2 - the shadowing import is the module class, not the setting type ok 3 - without the export tag the setting type is untouched ok 4 - the default exports of the module still import ok 5 - a package nested under a setting name is reachable in the consumer ok 6 - the consumer can declare its own class under the setting name the module nested under ok t/02-rakudo/indirect-name-constant.t ............................ 1..11 ok 1 - the required module EXPORT::DEFAULT is visible through ::("EXPORT") ok 2 - the required module exports are read from ::("EXPORT") ok 3 - the re-read exported sub is callable ok 4 - a require-injected class shadows a same-named lexical class in ::("...") ok 5 - a multi-part ::("...") walks the require-injected package at run time ok 6 - a parameter default holding ::("...") looks the symbol up per call ok 7 - a ::("...") interpolated in a string runs the symbolic lookup ok 8 - a .&::("...") call runs the symbolic lookup that sees require-injected subs ok 9 - a hyper .&::($name) call resolves the routine at run time ok 10 - a constant initialized from an indirect lookup evaluates it at BEGIN time ok 11 - a direct name still resolves to the lexical class ok t/02-rakudo/03-corekeys.t ....................................... 1..3 # Subtest: Symbols in CORE::v6c 1..2 ok 1 - No unexpected entries ok 2 - No missing entries ok 1 - Symbols in CORE::v6c # Subtest: Symbols in CORE::v6d 1..2 ok 1 - No unexpected entries ok 2 - No missing entries ok 2 - Symbols in CORE::v6d # Subtest: Symbols in CORE::v6e 1..2 ok 1 - No unexpected entries ok 2 - No missing entries ok 3 - Symbols in CORE::v6e ok t/02-rakudo/param-arg-compile-errors.t .......................... 1..19 ok 1 - a call through a read-only parameter that can never bind is refused at compile time ok 2 - a call through a copy parameter that can never bind is refused at compile time ok 3 - a call through an rw parameter that can never bind is refused at compile time ok 4 - a call through a raw parameter that can never bind is refused at compile time ok 5 - an untyped parameter argument is not judged at compile time ok 6 - a parameter argument that can bind compiles ok 7 - a definite Mu variable argument is not refused ok 8 - a definite Mu parameter argument is not refused ok 9 - a definite Mu parameter argument still passes its value ok 10 - a subset parameter argument is judged by its refinee ok 11 - a subset parameter argument binds where its refinee binds ok 12 - a subset of a definite type strips to its nominal foundation ok 13 - a definite typed parameter argument is judged by its base type ok 14 - a parameter argument no multi candidate can bind is refused at compile time ok 15 - refusing a multi call renders the candidate list ok 16 - the candidate list names each signature ok 17 - a coercion typed parameter argument is not judged at compile time ok 18 - a definite typed parameter argument binds where its base type binds ok 19 - # SKIP the legacy frontend does not judge definite typed variable arguments ok t/02-rakudo/compose-added-method-precomp.t ...................... 1..2 ok 1 - a precompiled class from a compose-extending metaclass works ok 2 - the method added during compose is callable and sees its closure ok t/02-rakudo/dd.t ................................................ 1..2 # Subtest: Failures don't get marked as handled in &dd 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - Failures don't get marked as handled in &dd # Subtest: Junctions do not crash 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - Junctions do not crash ok t/02-rakudo/rakuast-whatever-paren-postfix.t .................... 1..9 ok 1 - (5 ~~ *).WHAT returns the WhateverCode type object ok 2 - (*+1).WHAT returns the WhateverCode type object ok 3 - ("- " ~ *).chars produces a WhateverCode ok 4 - ... a concrete curried instance ok 5 - ... that runs ("- " ~ $_).chars ok 6 - *.Str (no parens) curries to WhateverCode ok 7 - *.Str produces a concrete curried instance ok 8 - *.Str curried thunk runs with arg ok 9 - *+1 (no parens) still curries and runs ok t/02-rakudo/03-corekeys-6d.t .................................... 1..1 # Subtest: Symbols in 6.d CORE:: 1..2 ok 1 - No unexpected entries ok 2 - No missing entries ok 1 - Symbols in 6.d CORE:: ok t/02-rakudo/multi-redeclaration-accepts.t ....................... 1..1 # Subtest: the duplicate-multi check does not run a parameter type ACCEPTS at compile time 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - the duplicate-multi check does not run a parameter type ACCEPTS at compile time ok t/02-rakudo/quit-phaser-succeed.t ............................... 1..5 ok 1 - a default in a whenever QUIT handles the quit and react completes ok 2 - a default in a supply-block whenever QUIT handles the quit # Subtest: a QUIT with no matching when rethrows and the react block dies 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /boom/ ok 3 - a QUIT with no matching when rethrows and the react block dies ok 4 - the non-matching when clause did not run ok 5 - a QUIT phaser returns Nil after its default succeeds ok t/02-rakudo/generic-native-precomp.t ............................ 1..3 ok 1 - a precompiled class steps a generic attribute instantiated with int ok 2 - a precompiled class constructs a generic attribute instantiated with int ok 3 - a precompiled int instantiated generic attribute reports Int as its type ok t/02-rakudo/rakudoc-unit-package.t .............................. 1..1 ok 1 - # SKIP $=rakudoc requires the RakuAST frontend ok t/02-rakudo/private-method-trait-wrapper.t ...................... 1..2 ok 1 - a trait wrapper resolves the class private method at runtime # Subtest: a private-method typo in a composed class still fails to compile 1..2 ok 1 - 'class D { method !real() {}; method go() { self!bogus() } }' died ok 2 - right exception type (X::Comp) ok 2 - a private-method typo in a composed class still fails to compile ok t/02-rakudo/native-literal-dispatch.t ........................... 1..24 ok 1 - a literal beside a native int reaches the native candidate ok 2 - a literal on the left adopts the native context too ok 3 - the native candidate answers whether or not its body can inline ok 4 - a lone literal dispatches as the boxed value it is ok 5 - a native variable reaches the native candidate ok 6 - a parameter read provides the native context through its declared type ok 7 - a literal among three positionals has no single native context ok 8 - a named argument leaves a literal boxed ok 9 - a method call argument stays the boxed value ok 10 - an int literal does not adopt a num context ok 11 - a num literal beside a native num reaches the native candidate ok 12 - a str literal beside a native str reaches the native candidate ok 13 - a constant heredoc pairs like a str literal ok 14 - a literal above the small-Int storage limit still has its native form ok 15 - the largest native int literal has its native form ok 16 - a literal too wide for a native int stays boxed ok 17 - native arithmetic on a wide literal computes the right value ok 18 - a literal paired with a native int computes a native result that widens to num ok 19 - div by a literal zero throws like div by a native zero ok 20 - native addition of a literal wraps like native variables do ok 21 - a lone literal rules out a native rw candidate at compile time ok 22 - a paired literal rules out a native rw candidate at compile time ok 23 - a settled native-return multi with a paired literal widens to num ok 24 - an indirect call passes a paired literal natively ok t/02-rakudo/declarator-signature-param-traits.t ................. 1..14 ok 1 - a declarator signature accepts is rw and the variable assigns ok 2 - a declarator signature accepts is copy and the variable assigns ok 3 - a declarator signature accepts is readonly and the variable assigns ok 4 - a declarator signature accepts is raw and the variable assigns ok 5 - a declarator signature accepts is required and the variable assigns ok 6 - a declarator signature accepts is onearg and the variable assigns # Subtest: an is item trait in a declarator signature reports as a parameter trait 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /"Cannot use 'is item' on parameter"/ ok 7 - an is item trait in a declarator signature reports as a parameter trait ok 8 - a declarator signature accepts is rw on a native int variable ok 9 - a declarator signature accepts is copy on a native int variable ok 10 - a parameter trait beside a variable trait leaves both accepted ok 11 - an our declarator signature accepts is rw and the variable assigns ok 12 - a state declarator signature accepts is copy and the variable persists # Subtest: a binding declarator signature still binds through the parameter 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /'unpack or Capture'/ ok 13 - a binding declarator signature still binds through the parameter # Subtest: a declarator signature inside sub MAIN earns no dispatch advice 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 14 - a declarator signature inside sub MAIN earns no dispatch advice ok t/02-rakudo/regex-crlf-grapheme.t ............................... 1..9 ok 1 - a regex \r\n matches a combined CR LF grapheme ok 2 - splitting on /\r\n/ breaks at each CR LF grapheme ok 3 - a /\r\n/ match consumes exactly the one combined grapheme ok 4 - a regex \r\n\r\n matches a blank-line header terminator ok 5 - a negated \R followed by \n does not fuse and still matches ok 6 - a \r followed by a negated \N does not fuse ok 7 - a lone \n still matches a CR LF grapheme via the newline class ok 8 - a \x0D codepoint escape does not fuse with \n ok 9 - a \r followed by a quantified \n+ does not fuse into a \r\n literal ok t/02-rakudo/rakuast-trailing-declarator-doc.t ................... 1..7 ok 1 - trailing \#= attaches to a parameterless sub ok 2 - trailing \#= attaches to a sub past its signature ok 3 - trailing \#= attaches correctly to a chain of subs ok 4 - trailing \#= between signature and body still works ok 5 - plain trailing ` \#` comment does not produce a declarator doc ok 6 - leading \#| declarator doc still works ok 7 - mid-signature trailing \#= stays on the parameter, not on the routine ok t/02-rakudo/inherit-same-name-setting-package.t ................. 1..4 ok 1 - the class declared inside the same-named unit package inherits the qualified parent ok 2 - a method from the inherited parent works on the child ok 3 - a method of the child itself works ok 4 - the used package namespace carries the nested class ok t/02-rakudo/11-deprecated.t ..................................... 1..2 # Subtest: no deprecation message with \(v6.d, v6.e, :lang-vers) 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - no deprecation message with \(v6.d, v6.e, :lang-vers) # Subtest: shows deprecation message with \(v6.d, v6.e, :lang-vers) 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - shows deprecation message with \(v6.d, v6.e, :lang-vers) ok t/02-rakudo/package-adopts-imported-stub-who.t .................. 1..2 ok 1 - a symbol from the imported stub package is visible via the class ok 2 - the class adopts the imported stub package WHO rather than copying its symbols ok t/02-rakudo/return-method-in-sunk-for.t ......................... 1..5 ok 1 - .return in a sunk for loop returns from the routine ok 2 - .return in a sunk .map(...).sink returns from the routine ok 3 - .return of a value matching the return type works # Subtest: .return still honors a literal return constraint 1..3 ok 1 - code dies ok 2 - right exception type (X::AdHoc) ok 3 - .message matches /'return value 42'/ ok 4 - .return still honors a literal return constraint # Subtest: a type-constrained .return in a sunk for reports the routine type-check error 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Return) ok 5 - a type-constrained .return in a sunk for reports the routine type-check error ok t/02-rakudo/regex-vspace-class-crlf.t ........................... 1..8 ok 1 - the CR LF grapheme is not a member of <[\v]> ok 2 - nor when \v is merged with a literal in a class ok 3 - so <-[\v]> matches the CR LF grapheme ok 4 - and <[\V]> matches it ok 5 - while a standalone \v still matches it ok 6 - <[\v]> matches a line feed ok 7 - <[\v]> matches a carriage return ok 8 - <[\v]> does not match a non-space character ok t/02-rakudo/08-slangs.t ......................................... 1..1 # Subtest: no crash when giving an Actions class to .refine_slang 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - no crash when giving an Actions class to .refine_slang ok t/02-rakudo/signature-array-elem-definedness.t .................. 1..2 ok 1 - Str:D :@alpha = Array[Str] default binds ok 2 - Str:D @alpha parameter stores Positional[Str], not Positional[Str:D] ok t/02-rakudo/regex-token-arg-backtrack.t ......................... 1..6 ok 1 - backtracking an alternation of argument tokens tries the next branch ok 2 - exhausting both branches fails cleanly instead of erroring ok 3 - sequential alternation of argument tokens backtracks too ok 4 - a single argument token call still matches ok 5 - backtracking argumentless tokens is unaffected ok 6 - a regex (non-ratchet) with an argument can still be backtracked into ok t/02-rakudo/proc-async-spawn-failure.t .......................... 1..3 # Subtest: The merged Supply of an async process that does not exist quits with the spawn error 1..3 ok 1 - code dies ok 2 - right exception type (X::AdHoc) ok 3 - .message matches /'does-not-exist-cabbage-mooncake-unicycle'/ ok 1 - The merged Supply of an async process that does not exist quits with the spawn error ok 2 - Promise for an async process that does not exist is broken when its merged Supply is tapped ok 3 - Promise for a pty process that does not exist is broken ok t/02-rakudo/siglist-decl-rvalue.t ............................... 1..7 ok 1 - first sigilless target aliases the first declared container ok 2 - second sigilless target aliases the second declared container ok 3 - assigning through the aliases writes the underlying containers ok 4 - a no-initializer list declaration used as an rvalue yields its containers ok 5 - a plain sunk list declaration statement still works ok 6 - list assignment still binds each element ok 7 - list bind to a literal list still works ok t/02-rakudo/regex-group-named-capture.t ......................... 1..8 ok 1 - named capture of a group with a quantified atom spans the run ok 2 - and binds a single Match, not a list of repetitions ok 3 - named capture of a group containing a subrule ok 4 - the group capture does not adopt the subrule inner captures ok 5 - the subrule captures under its own name ok 6 - a quantified bare subrule alias captures per repetition ok 7 - named capture of a quantified group spans the whole run ok 8 - a backtrack-modified group capture does not adopt inner captures ok t/02-rakudo/regex-expr-sym.t .................................... 1..7 ok 1 - a :sym(EXPR) candidate matches the evaluated sym value ok 2 - the token captures the evaluated sym value ok 3 - input not matching the evaluated sym falls through to the other candidate ok 4 - a literal :sym<...> candidate still matches its sym ok 5 - a literal :sym<...> proto still falls through to another candidate ok 6 - a constant-foldable expression sym evaluates and matches ok 7 - a sym computed by a BEGIN-time call evaluates and matches ok t/02-rakudo/signature-literal-declaration.t ..................... 1..5 ok 1 - my :(...) := list binds positionally ok 2 - my :(...) := capture binds named arguments ok 3 - our :(...) := binds # Subtest: assignment to a signature literal declaration is rejected 1..2 ok 1 - code dies ok 2 - right exception type (X::Syntax::Variable::SignatureAssignment) ok 4 - assignment to a signature literal declaration is rejected # Subtest: signature literal declaration without an initializer is rejected 1..2 ok 1 - code dies ok 2 - right exception type (X::Syntax::Variable::SignatureWithoutInitializer) ok 5 - signature literal declaration without an initializer is rejected ok t/02-rakudo/regex-constant-interpolation.t ...................... 1..4 ok 1 - a constant array interpolates as an alternation ok 2 - a constant integer interpolates by its string value ok 3 - a constant string is still matched as a literal ok 4 - a constant array interpolates in a grammar token under :i ok t/02-rakudo/smartmatch-match-matcher.t .......................... 1..9 ok 1 - smartmatch against a Match returns a Match ok 2 - the matcher itself is the result ok 3 - negated smartmatch against a successful Match ok 4 - a constructed Match is returned as-is too ok 5 - a constructed Match is truthy, so its negated smartmatch is False ok 6 - Junction topic against a Match collapses to Bool ok 7 - any-Junction against a successful Match ok 8 - none-Junction against a successful Match ok 9 - negated all-Junction against a successful Match ok t/02-rakudo/slurpy-callable-param.t ............................. 1..4 ok 1 - a `*&` parameter binds and calls a single Callable ok 2 - a `*&` parameter is not actually slurpy ok 3 - a `*&` parameter keeps its callable sigil ok 4 - a `*&` parameter still takes a single argument, not many ok t/02-rakudo/role-shadows-setting-type.t ......................... 1..6 ok 1 - a role can shadow a setting class of the same compound name ok 2 - a role can shadow a setting class of the same simple name ok 3 - a role shadows a setting role of the same name instead of joining it # Subtest: a role redeclaring a same-scope class is rejected 1..2 ok 1 - 'class Foo { }; role Foo { }' died ok 2 - right exception type (X::Redeclaration) ok 4 - a role redeclaring a same-scope class is rejected # Subtest: a role redeclaring an enclosing-scope class is rejected 1..2 ok 1 - 'class Outer { }; { role Outer { } }' died ok 2 - right exception type (X::Redeclaration) ok 5 - a role redeclaring an enclosing-scope class is rejected ok 6 - same-named roles still form a role group ok t/02-rakudo/smartmatch-topic-rhs.t .............................. 1..5 ok 1 - a bare $_ on the smartmatch RHS matches against the outer topic, not the LHS ok 2 - a bare $_ on the smartmatch RHS that equals the LHS still matches ok 3 - reusing the topic on the smartmatch RHS does not consume the LHS ok 4 - a Seq LHS against the topic RHS does not throw ok 5 - a block on the smartmatch RHS still binds $_ to the LHS ok t/02-rakudo/sink-postfix-call-failure.t ......................... 1..6 ok 1 - a Failure reached through a sunk postfix call throws ok 2 - sinking a postfix call returning a Failure throws ok 3 - sinking an is-rw routine call result does not sink its container ok 4 - sinking an is-rw container return does not sink its contents ok 5 - binding a block call result preserves its container ok 6 - sinking a non-Failure postfix call result lives ok t/02-rakudo/repr-trait-after-pod.t .............................. 1..6 ok 1 - is repr(...) after a pod block sets the representation ok 2 - is repr(...) after several pod blocks still sets the representation ok 3 - is repr(...) with a double-quoted value works after a pod block ok 4 - is repr(...) without a pod block is unchanged ok 5 - the pod block before an is repr(...) class still reaches $=pod ok 6 - the preserved pod keeps its content ok t/02-rakudo/superscript-power-macron.t .......................... 1..5 ok 1 - 10 with a macron-signed negative exponent ok 2 - 10 with a high-minus negative exponent ok 3 - macron and high-minus exponents agree ok 4 - macron negative exponent on a small base ok 5 - positive superscript exponent ok t/02-rakudo/begin-indirect-lexical.t ............................ 1..32 ok 1 - a BEGIN indirect lookup finds a sub declared in the compiling unit ok 2 - a BEGIN indirect lookup still finds a setting sub ok 3 - a BEGIN indirect lookup finds a class declared in the compiling unit ok 4 - a BEGIN indirect lookup of a scalar reaches its container, unassigned so far ok 5 - a constant initialized from an indirect lookup holds the unit-local sub ok 6 - a run time indirect lookup of a unit-local sub keeps working ok 7 - a BEGIN indirect lookup built from a computed string finds a unit-local sub ok 8 - an indirect lookup in a sub the BEGIN calls finds a unit-local sub ok 9 - a LEXICAL:: lookup in a sub the BEGIN calls finds a unit-local sub ok 10 - assigning through a BEGIN indirect lookup reaches the unit variable ok 11 - a BEGIN indirect lookup of an undeclared name still comes up empty ok 12 - LEXICAL:: at BEGIN time still reports an undeclared name as absent ok 13 - a BEGIN indirect lookup built from a computed string finds a unit-local class ok 14 - a precompiled module constant holds a sub the module itself declared ok 15 - a precompiled module constant holds a sub the module imported ok 16 - a precompiled module constant holds a setting sub ok 17 - a precompiled module constant holds a class the module itself declared ok 18 - a precompiled module constant holds a sub found through a computed string ok 19 - a precompiled module constant holds the handled miss of an undeclared name ok 20 - a loaded unit does not reach the loading unit through an indirect lookup ok 21 - an imported sub called at BEGIN time does not reach the calling unit ok 22 - an imported trait handler does not reach the unit applying the trait ok 23 - # SKIP the legacy frontend cannot invoke a precompiled BEGIN-made closure ok 24 - LEXICAL:: at BEGIN time knows a sub declared in the compiling unit ok 25 - LEXICAL:: at BEGIN time reaches the sub itself ok 26 - an imported sub cannot see the calling unit through LEXICAL:: at BEGIN time ok 27 - DYNAMIC:: at BEGIN time reaches a unit sub through its static-chain path ok 28 - OUTERS:: at BEGIN time reaches a sub declared in the compiling unit ok 29 - DYNAMIC:: at BEGIN time knows a sub declared in the compiling unit ok 30 - OUTERS:: at BEGIN time knows a sub declared in the compiling unit ok 31 - an imported sub cannot see the calling unit through DYNAMIC:: at BEGIN time ok 32 - an imported sub cannot see the calling unit through OUTERS:: at BEGIN time ok t/02-rakudo/subsig-nominal-type.t ............................... 1..6 ok 1 - a typed anonymous sub-signature binds and destructures a plain Array ok 2 - an untyped anonymous sub-signature still binds a plain Array ok 3 - a typed sub-signature parameter is a bare Positional, not Positional[Int] ok 4 - a real typed array parameter still parameterises Positional by its element type ok 5 - a real typed array parameter still binds a matching Positional ok 6 - a real typed array with a sub-signature keeps Positional[Int] ok t/02-rakudo/role-group-under-core-package.t ..................... 1..5 ok 1 - the first variant of a role group under a setting-named package resolves ok 2 - the second variant of that role group resolves, not a redeclaration ok 3 - a role group under a plain compound name still resolves its first variant ok 4 - a role group under a plain compound name resolves its second variant # Subtest: redeclaring a class under a setting-named package is still an error 1..2 ok 1 - 'class Hash::Dup { }; class Hash::Dup { }' died ok 2 - right exception type (X::Redeclaration) ok 5 - redeclaring a class under a setting-named package is still an error ok t/02-rakudo/04-diag.t ........................................... 1..2 # Subtest: diag at the start of file shows up in non-verbose prove run 1..2 ok 1 - STDOUT ok 2 - STDERR ok 1 - diag at the start of file shows up in non-verbose prove run # Subtest: using diag in the middle of TODO tests does not interfere 1..3 ok 1 - STDOUT has TODO ok 2 - diag message is not in STDOUT ok 3 - diag message is in STDERR ok 2 - using diag in the middle of TODO tests does not interfere ok t/02-rakudo/rule-quantifier-whitespace-backtrack.t .............. 1..10 ok 1 - a default subrule quantifier in a rule backtracks across inserted whitespace ok 2 - the same rule still matches when the optional subrule is present ok 3 - the same shape in a token does not backtrack (ratchet, no whitespace) ok 4 - DEFAULT FALSE parses: the optional name gives FALSE back to the value ok 5 - DEFAULT with an explicit name still parses ok 6 - an explicit ratchet quantifier (?:) in a rule does not backtrack ok 7 - a %%-separated quantifier in a rule gives an iteration back ok 8 - a ** {..} block-range quantifier in a rule backtracks ok 9 - a quantifier inside a capture group in a token stays ratcheted ok 10 - a token alternation can still be re-entered for its other branch ok t/02-rakudo/sub-signature-special-var.t ......................... 1..5 ok 1 - $_ in a for-loop destructuring sub-signature binds the value ok 2 - $_ in a positional sub-signature binds the destructured value ok 3 - $/ in a sub-signature binds without a redeclaration ok 4 - $! in a sub-signature binds without a redeclaration ok 5 - $! in a for-loop sub-signature binds without a redeclaration ok t/02-rakudo/smartmatch-user-accepts.t ........................... 1..10 ok 1 - a type object with a user ACCEPTS runs it for a smartmatch ok 2 - the user ACCEPTS ran once ok 3 - a role-supplied ACCEPTS on a but-mixed type object is called ok 4 - the role ACCEPTS ran once ok 5 - a :D-only ACCEPTS does not run for a type-object right side ok 6 - so the type check applies and the ACCEPTS is not called ok 7 - a negated smartmatch runs the user ACCEPTS and inverts it ok 8 - the user ACCEPTS ran once for the negated form ok 9 - a setting type still type checks, a match ok 10 - a setting type still type checks, a non-match ok t/02-rakudo/exporthow-after-load.t .............................. 1..2 ok 1 - a declarator from a directly used module declares a class ok 2 - a declarator declared after loading another module that carries an EXPORTHOW survives ok t/02-rakudo/term-now-time-shadow.t .............................. 1..8 ok 1 - a sigilless \time shadows the built-in time term ok 2 - a sigilless \now shadows the built-in now term ok 3 - a sub named time shadows the built-in time term ok 4 - a &now routine variable shadows the built-in now term ok 5 - a method call resolves against the lexical, not the built-in ok 6 - unshadowed time still returns the built-in ok 7 - unshadowed now still returns the built-in ok 8 - the built-in returns once the lexical is out of scope ok t/02-rakudo/term-self-reference.t ............................... 1..5 ok 1 - a term is visible inside its own initializer ok 2 - a term self-reference drives a recursive lazy sequence ok 3 - a term may reference an earlier term ok 4 - a typed term binding still works ok 5 - a term with no self-reference is unaffected ok t/02-rakudo/role-forward-lexical-default.t ...................... 1..8 ok 1 - a forward sub reference in a role method parameter default resolves ok 2 - a forward sub reference in a role attribute default resolves ok 3 - a forward sub reference in a role method body resolves ok 4 - a forward reference to a method-local sub in a role resolves ok 5 - a forward sub reference inside a package nested in a role resolves ok 6 - a reference to a later outer sub, in scope by consumption, resolves ok 7 - a backward sub reference in a role still resolves ok 8 - a role-local sub wins over an outer sub of the same name ok t/02-rakudo/18-pseudostash.t .................................... 1..10 # Subtest: CLIENT:: doesn't fail on NQP packages for 6.c 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - CLIENT:: doesn't fail on NQP packages for 6.c # Subtest: CLIENT:: doesn't fail on NQP packages for 6.d 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - CLIENT:: doesn't fail on NQP packages for 6.d # Subtest: CLIENT:: doesn't fail on NQP packages for 6.e.PREVIEW 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - CLIENT:: doesn't fail on NQP packages for 6.e.PREVIEW ok 4 - did not hang ok 5 - indirect lookup through a runtime lexical type with a hash-index key ok 6 - indirect lookup through a runtime lexical type with a literal key ok 7 - call qualified by a runtime lexical package ok 8 - CALLERS in the right operand of //= starts at the routine's caller ok 9 - $?CALLER::PACKAGE compiles and resolves through the CALLER pseudo-package ok 10 - $?PACKAGE through an unknown package is Any ok t/02-rakudo/supply-one-emit.t ................................... 1..6 ok 1 - a single-emit supply statement emits its value ok 2 - a single-emit supply block emits its value ok 3 - a Failure from the emitted expression quits the supply ok 4 - the Failure was not emitted as a value ok 5 - a two-emit supply block emits both values ok 6 - a single emit with a statement modifier emits its value ok t/02-rakudo/subsig-type-capture.t ............................... 1..10 ok 1 - a pointy-block sub-signature type capture is visible ok 2 - an unused sub-signature type capture binds without error ok 3 - a sub sub-signature type capture is visible ok 4 - a method sub-signature type capture is visible ok 5 - a named sub-signature type capture is visible ok 6 - nested sub-signature captures each resolve ok 7 - top-level and sub-signature captures coexist ok 8 - a list-declaration type capture is visible ok 9 - a list-declaration type capture works as a constraint ok 10 - nested list-declaration captures each resolve ok t/02-rakudo/our-twigil-package-key.t ............................ 1..2 ok 1 - the `our @.operations` accessor returns its bound value ok 2 - the `our %.table` accessor returns its bound value ok t/02-rakudo/role-parameterization-hash-pair-args.t .............. 1..8 ok 1 - role parameterized with a %(...) hash ok 2 - role parameterized with an empty %() ok 3 - role parameterized with a => pair ok 4 - role parameterized with a { } hash composer ok 5 - role parameterized with an @(...) list ok 6 - role parameterized with an empty @() ok 7 - role parameterized with a $(...) item ok 8 - role parameterized with a mixed-value %(...), as Cro does ok t/02-rakudo/topic-call-bind.t ................................... 1..4 ok 1 - binding to a . topic call aliases the hash element ok 2 - binding to a .{...} topic call aliases the hash element ok 3 - binding to a .[i] topic call aliases the array element # Subtest: binding to a methodish .foo topic call is a compile error 1..3 ok 1 - 'given (my $o) { .foo := 5 }' died ok 2 - right exception type (Exception) ok 3 - .message matches /'bind operator'/ ok 4 - binding to a methodish .foo topic call is a compile error ok t/02-rakudo/precomp-declarator-block-or-hash.t .................. 1..1 # Subtest: precomp of `{ :pair }` block-or-hash inside a #|-documented sub does not orphan a stub 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - precomp of `{ :pair }` block-or-hash inside a \#|-documented sub does not orphan a stub ok t/02-rakudo/split-trans-capture-markers.t ....................... 1..16 ok 1 - .split honors both capture markers ok 2 - .split honors a <( marker without )> ok 3 - .split honors a )> marker without <( ok 4 - .split without capture markers is unaffected ok 5 - .split honors capture markers on repeated matches ok 6 - .split with a limit honors capture markers ok 7 - .split with :skip-empty honors capture markers ok 8 - .split with a needle list honors capture markers ok 9 - .split with :v produces parts according to capture markers ok 10 - .split with :v produces the marked extent as the separator Match ok 11 - .split with :v produces a Match with the marked extent ok 12 - .trans with a string replacement honors capture markers ok 13 - .trans with a callable replacement honors capture markers ok 14 - .trans with needle and replacement lists honors capture markers ok 15 - .split and .subst agree on the extent of a marker regex ok 16 - .split does not apply capture markers of an interpolated regex ok t/02-rakudo/self-in-regex.t ..................................... 1..7 ok 1 - self in a regex code block in a role compiles ok 2 - self in a regex predicate assertion in a role compiles ok 3 - self in a role regex calls the right method ok 4 - self in a class/grammar regex still works ok 5 - self with no available object still fails at compile time ok 6 - self in a non-method regex in a role still fails at compile time ok 7 - self in a role body mainline still fails at compile time ok t/02-rakudo/core-pseudo-package-precomp.t ....................... 1..1 # Subtest: a compile-time CORE:: reference in a precompiled module loads 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a compile-time CORE:: reference in a precompiled module loads ok t/02-rakudo/role-typed-hash-attr-hang.t ......................... 1..8 ok 1 - Issue 6071 golf: role with generic hash value, composed into class ok 2 - role with generic hash value, parameterized and instantiated ok 3 - role with `has %h{Int} of T` (the issue 6071 attribute shape) ok 4 - PR 6073 golf: user `::TValue` colliding with Array::Typed `::TValue` ok 5 - user `::TValue` colliding with Hash::Typed `::TValue` ok 6 - user `::TDefault` colliding with Hash::Typed `::TDefault` ok 7 - collision-named capture still resolves the array element type ok 8 - collision-named capture still resolves the hash value type ok t/02-rakudo/role-method-generic-invocant.t ...................... 1..10 ok 1 - a role private method called on an object of another class binds its invocant ok 2 - a concretized private method accepts an invocant of another class doing the role ok 3 - the concretized private method still advertises the class as its invocant type ok 4 - a concretized public method accepts an invocant of another class doing the role ok 5 - an untyped explicit invocant binds an object of another class # Subtest: an explicitly ::?CLASS-typed invocant still rejects another class 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 6 - an explicitly ::?CLASS-typed invocant still rejects another class ok 7 - a role type-capture parameter still binds a matching argument # Subtest: a role type-capture parameter still rejects a mismatched argument 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 8 - a role type-capture parameter still rejects a mismatched argument # Subtest: a sub-signature method rejects a cross-class invocant in the full binder 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 9 - a sub-signature method rejects a cross-class invocant in the full binder # Subtest: a class method still rejects an invocant of an unrelated class 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 10 - a class method still rejects an invocant of an unrelated class ok t/02-rakudo/test-assign-metaop-mu.t ............................. 1..6 ok 1 - //= assigns into an undefined Mu-typed container ok 2 - ||= assigns into a false Mu-typed container ok 3 - //= leaves a defined Mu-typed container alone ok 4 - //= works on a Mu-typed parameter ok 5 - //= assigns a Mu value on the right ok 6 - ||= assigns a Mu value on the right ok t/02-rakudo/v6.d-tests/01-deprecations.t ........................ 1..1 ok 1 - ok t/02-rakudo/try-statement-backtrace-frame.t ..................... 1..4 ok 1 - the filtered backtrace holds the try frame and its caller ok 2 - the try frame carries a code object ok 3 - the frame after the try frame is the caller of the hidden sub ok 4 - that caller frame reports this file ok t/02-rakudo/supply-sequencer.t .................................. 1..5 ok 1 - A single stream delivers its output and completes on its EOF report ok 2 - A merged stream delivers output arriving between its EOF reports ok 3 - A merged stream completes exactly once on reordered EOF reports ok 4 - A failure report arriving after completion is not delivered ok 5 - Only the first of two failure reports is delivered ok t/02-rakudo/colonpair-use-import.t .............................. 1..3 ok 1 - use Module :$tag imports the variable exported under that tag ok 2 - use Module :Opaque imports the constant under that tag # Subtest: no Pragma :$foo parses the colonpair as a selector, not a lexical read 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - no Pragma :$foo parses the colonpair as a selector, not a lexical read ok t/02-rakudo/smartmatch-junction-topic.t ......................... 1..31 ok 1 - all-Junction against a Hash, every key present ok 2 - all-Junction against a Hash, a key missing ok 3 - any-Junction against a Hash, one key present ok 4 - none-Junction against a Hash, no key present ok 5 - none-Junction against a Hash, a key present ok 6 - one-Junction against a Hash, exactly one key present ok 7 - all-Junction against a Hash constant ok 8 - negated all-Junction against a Hash, every key present ok 9 - negated all-Junction against a Hash, no key present ok 10 - any-Junction against a type held in a variable ok 11 - Junction on both sides of a smartmatch ok 12 - a regex held in a variable returns a Match ok 13 - a regex held in a variable sets $/ ok 14 - negated smartmatch against a matching regex variable ok 15 - the negated smartmatch still sets $/ ok 16 - subset where-clause threading all() over a Map accepts a member ok 17 - subset where-clause rejects a non-member ok 18 - a matcher with its own Junction ACCEPTS candidate decides the match ok 19 - that ACCEPTS candidate received the whole Junction ok 20 - negated smartmatch defers to the custom ACCEPTS too ok 21 - a non-multi custom ACCEPTS decides the match ok 22 - a non-multi custom ACCEPTS received the whole Junction ok 23 - Junction topic against a regex variable returns a Junction ok 24 - the match Junction collapses to True when an eigenstate matches ok 25 - the match Junction collapses to False when no eigenstate matches ok 26 - negated smartmatch of a Junction against a regex variable ok 27 - all-Junction against a complex expression yielding a Map ok 28 - a custom ACCEPTS matcher from a complex expression decides the match ok 29 - that matcher received the whole Junction ok 30 - a regex from a complex expression returns a Match ok 31 - a regex from a complex expression sets $/ ok t/02-rakudo/trait-arg-block-capture.t ........................... 1..4 ok 1 - a routine with a block trait argument still runs ok 2 - the block ran against the passed capture ok 3 - the block reaches a lexical of the enclosing scope ok 4 - a keymaker block drives memoization correctly ok t/02-rakudo/rakuast-code-assuming.t ............................. 1..9 ok 1 - assuming over a sub with an externally-defined typed parameter ok 2 - assuming from a BUILD submethod, currying a typed named arg ok 3 - assuming over a pointy block with an externally-defined typed parameter ok 4 - plain positional assuming still works ok 5 - assuming a containerized positional declared at the call site ok 6 - is raw curried call sees initial container value ok 7 - is raw curried call sees mutated container value ok 8 - subset-typed Whatever-passthrough, currying Int ok 9 - subset-typed Whatever-passthrough, currying Str ok t/02-rakudo/xx-sink-lazy.t ...................................... 1..3 ok 1 - takes from the thunk of a sunk `xx *` reach the enclosing gather ok 2 - a bounded lazy `xx *` runs its thunk when sunk ok 3 - a finite `xx N` in sink context runs its thunk N times ok t/02-rakudo/enum-value-redeclaration.t .......................... 1..4 # Subtest: a duplicate enum value warns 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a duplicate enum value warns # Subtest: a value clashing with an earlier enum warns 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - a value clashing with an earlier enum warns # Subtest: a value clashing only with a nested package stays silent 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - a value clashing only with a nested package stays silent # Subtest: a well-formed enum warns nothing 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - a well-formed enum warns nothing ok t/02-rakudo/whatever-pipe-prefix-as-arg.t ....................... 1..4 ok 1 - |*.list as a positional arg curries and passes a WhateverCode ok 2 - |*.list as a colon-form arg curries and passes a WhateverCode ok 3 - |*.polymod(...).reverse curries and slips the polymod result ok 4 - |(...) without a Whatever still flattens in the arglist ok t/02-rakudo/routine-overrides-imported-stub.t ................... 1..4 ok 1 - a stub sub reports .yada ok 2 - a non-stub sub does not report .yada ok 3 - a real routine overrides an imported stub of the same name # Subtest: overriding a non-stub imported routine is rejected 1..2 ok 1 - 'use SubsStubHelper; sub real-export() { 0 }' died ok 2 - right exception type (X::Redeclaration) ok 4 - overriding a non-stub imported routine is rejected ok t/02-rakudo/where-subset-anon-name.t ............................ 1..2 # Subtest: where on a typed variable reports the constraint as 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck) ok 3 - .message matches /''/ ok 1 - where on a typed variable reports the constraint as # Subtest: where on a typed attribute reports the constraint as 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck) ok 3 - .message matches /''/ ok 2 - where on a typed attribute reports the constraint as ok t/02-rakudo/whatever-short-circuit.t ............................ 1..12 ok 1 - a defined left side of // is returned, not curried ok 2 - an undefined left side of // yields the literal Whatever ok 3 - orelse returns its defined left side ok 4 - and returns its false left side ok 5 - or returns its true left side ok 6 - a short-circuit result is a plain value, not a WhateverCode ok 7 - skip(0 // *) keeps every element ok 8 - a Whatever under + still curries ok 9 - the curried WhateverCode applies ok 10 - a Whatever in a subscript still curries ok 11 - a Whatever under ~~ still curries # Subtest: a WhateverCode operand of a short-circuit operator still curries 1..3 ok 1 - 'sub ($a where {* < 5 and * > 9}) { }' died ok 2 - right exception type (X::Syntax::Malformed) ok 3 - .what matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3835104888) ... } ok 12 - a WhateverCode operand of a short-circuit operator still curries ok t/02-rakudo/trait-arg-declares-var.t ............................ 1..5 ok 1 - the body starts from the container the trait wrote to ok 2 - the trait received a usable Hash ok 3 - a scalar declaration in a trait argument works ok 4 - first call sees the count it just wrote ok 5 - a container the trait wrote to is shared across calls ok t/02-rakudo/parameter-sub-signature.t ........................... 1..19 ok 1 - trait_mod multi with named array sub signature on attribute compiles ok 2 - named array sub signature destructure binds ok 3 - positional sub signature destructure binds ok 4 - multi candidate with sub signature dispatches and binds ok 5 - nested sub signature destructure binds ok 6 - trait_mod multi with named array sub signature on class compiles ok 7 - slurpy positional with sub signature destructure binds ok 8 - hash sub signature destructure binds ok 9 - sub signature parameter default thunk runs ok 10 - parametric role with sub signature param accepts inline array ok 11 - parametric role with named sub signature param accepts inline array via named arg ok 12 - role parameterization with self outside object dies cleanly ok 13 - unfilled named sub signature parameter binds to Any ok 14 - unfilled positional sub signature parameter binds to Any ok 15 - unfilled sub signature value resolves to an Any candidate ok 16 - where after a sub signature binds the destructure and accepts a valid value # Subtest: where after a sub signature rejects a value failing the constraint 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 17 - where after a sub signature rejects a value failing the constraint ok 18 - every where clause on a parameter is enforced ok 19 - where-guarded scalar trait candidate does not shadow the named sub signature candidate ok t/02-rakudo/qualified-lookup-parent-package-sc.t ................ 1..1 ok 1 - a constant naming a symbol through the unit own parent package compiles ok t/02-rakudo/where-paren-whatever.t .............................. WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/t/02-rakudo/where-paren-whatever.t: Useless use of ">" in expression "* > 0" in sink context (lines 10, 30) 1..13 ok 1 - where (* > 0) accepts a value that satisfies it # Subtest: where (* > 0) still rejects a value that fails it 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding) ok 2 - where (* > 0) still rejects a value that fails it ok 3 - where (1 <= * <= 4) accepts an in-range value # Subtest: where (1 <= * <= 4) rejects an out-of-range value 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding) ok 4 - where (1 <= * <= 4) rejects an out-of-range value ok 5 - multiple parenthesized whatever constraints compile and bind ok 6 - where (5) still works ok 7 - subset where (* > 0) accepts a valid value ok 8 - subset where (* > 0) rejects an invalid value ok 9 - variable where (1 <= * <= 4) accepts ok 10 - variable where (1 <= * <= 4) rejects ok 11 - where * accepts any value ok 12 - a named parameter where * accepts any value # Subtest: where { * > 0 } is still rejected as a double closure 1..2 ok 1 - 'sub f($x where { * > 0 }) { }' died ok 2 - right exception type (X::Syntax::Malformed) ok 13 - where { * > 0 } is still rejected as a double closure ok t/02-rakudo/use-lib-interpolated.t .............................. 1..3 ok 1 - use lib with a block interpolation compiles ok 2 - use lib with an interpolated expression compiles ok 3 - use lib with multiple interpolated strings compiles ok t/02-rakudo/yada-trait-timing.t ................................. 1..2 ok 1 - a where {.yada} trait applies to a stub method ok 2 - a where {.yada} trait applies to a stub sub ok t/02-rakudo/term-adverbs.t ...................................... 1..3 ok 1 - colonpair adverb on a custom term becomes a named arg ok 2 - a different adverb selects a different term multi ok 3 - adverbed terms nest as arguments ok t/02-rakudo/trait-package-metaclass.t ........................... 1..7 ok 1 - role mixed into $*PACKAGE.HOW from an attribute trait persists to the class ok 2 - the mixed-in metaclass method is callable on the composed type ok 3 - an attribute trait in a class body sees the class metaclass ok 4 - an attribute trait in a role body sees the role metaclass ok 5 - a trait on the package itself reaches the package type object ok 6 - a package-self trait on a nested package reaches the nested type ok 7 - and does not reach the enclosing package ok t/02-rakudo/rakuast-anon-container-freshness.t .................. 1..3 ok 1 - a hash composer in a hot loop keeps per-iteration literal values ok 2 - a hash composer in a hot loop allocates a distinct hash per iteration not ok 3 - a BEGIN-invoked sub returns a fresh anonymous hash per call in a hot loop # TODO BEGIN-compiled routines keep unlowered containers under the legacy frontend # Failed test 'a BEGIN-invoked sub returns a fresh anonymous hash per call in a hot loop' # at t/02-rakudo/rakuast-anon-container-freshness.t line 82 # expected: '-1' # got: '100' ok t/02-rakudo/doc-param-declarator-once.t ......................... 1..2 # Subtest: a parameter declarator doc renders once under --doc 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a parameter declarator doc renders once under --doc # Subtest: a method parameter declarator doc renders once under --doc 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - a method parameter declarator doc renders once under --doc ok t/02-rakudo/n-flag-mainline-scope.t ............................. 1..5 # Subtest: a BEGIN-declared variable persists across -n lines 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a BEGIN-declared variable persists across -n lines # Subtest: a plain my assigned in BEGIN persists across -n lines 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - a plain my assigned in BEGIN persists across -n lines # Subtest: a plain my = 0 resets each line 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - a plain my = 0 resets each line # Subtest: separate BEGIN-declared variables both persist 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - separate BEGIN-declared variables both persist # Subtest: -p modifies the topic each line 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - -p modifies the topic each line ok t/02-rakudo/our-operator-var-container.t ........................ 1..6 ok 1 - the package entry holds the value assigned to the operator ok 2 - the assigned operator works when used ok 3 - a prefix operator variable also reaches its package entry ok 4 - the assigned prefix operator works ok 5 - an exported operator variable exports the assigned routine, not the empty container ok 6 - the exported operator is invocable ok t/05-messages/v6.d-tests/01-errors.t ............................ 1..1 # Subtest: giving await non-Awaitable things throws 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 1 - giving await non-Awaitable things throws ok t/02-rakudo/try-fatalizes-block.t ............................... 1..7 ok 1 - a Failure as a return argument in a try is caught, not returned ok 2 - a successful return in a try returns its value ok 3 - a Failure bound then returned in a try is caught ok 4 - no fatal in a try block leaves a returned Failure soft ok 5 - no fatal in a try keeps a soft Failure result value # Subtest: a worry inside a try stays a warning, the block still compiles 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - a worry inside a try stays a warning, the block still compiles # Subtest: use fatal still promotes the worry to a compile error 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - use fatal still promotes the worry to a compile error ok t/02-rakudo/rakuast-suspend-precomp-deps.t ...................... 1..3 ok 1 - subprocess exited cleanly ok 2 - consumer module ran through the custom CUR chain ok 3 - SuspendTestCUR is absent from consumer precomp dep header ok t/02-rakudo/qualified-call-shared-module-state.t ................ 1..2 ok 1 - module state set through one precompiled consumer is visible through another ok 2 - qualified calls from both consumers invoke the same routine instance ok t/05-messages/11-overflow.t ..................................... 1..2 # Subtest: .roll 1..3 # Subtest: (1) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842535528) ... } ok 1 - (1) # Subtest: (2) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842536328) ... } ok 2 - (2) # Subtest: (3) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842536448) ... } ok 3 - (3) ok 1 - .roll # Subtest: .indent 1..6 # Subtest: (1) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842539448) ... } ok 1 - (1) # Subtest: (2) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842539568) ... } ok 2 - (2) # Subtest: (3) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842539688) ... } ok 3 - (3) # Subtest: (4) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842459440) ... } ok 4 - (4) # Subtest: (5) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842459560) ... } ok 5 - (5) # Subtest: (6) 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3842459680) ... } ok 6 - (6) ok 2 - .indent ok t/02-rakudo/object-hash-default-value-type.t .................... 1..6 # Subtest: 6.d default: my %h{Mu} defaults value type to Any 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - 6.d default: my %h{Mu} defaults value type to Any # Subtest: 6.e: my %h{Mu} defaults value type to Mu 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - 6.e: my %h{Mu} defaults value type to Mu # Subtest: 6.d default: my %h{Str} defaults value type to Any 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - 6.d default: my %h{Str} defaults value type to Any # Subtest: 6.e: my %h{Str} defaults value type to Mu 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - 6.e: my %h{Str} defaults value type to Mu # Subtest: my Int %h{Str} keeps the explicit value type on either revision 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - my Int %h{Str} keeps the explicit value type on either revision # Subtest: my %h without shape stays the generic Hash on either revision 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - my %h without shape stays the generic Hash on either revision ok t/08-performance/01-iterators.t ................................. 1..6 ok 1 - combinations() iterator implements efficient .count-only ok 2 - combinations() iterator implements efficient .bool-only ok 3 - &permutations() iterator implements efficient .count-only ok 4 - &permutations() iterator implements efficient .bool-only ok 5 - .permutations() iterator implements efficient .count-only ok 6 - .permutations() iterator implements efficient .bool-only ok t/02-rakudo/proc-async-merge-stream-close.t ..................... 1..10 ok 1 - Merged output includes stderr output produced before stdout closed ok 2 - Merged output includes stderr output produced after stdout closed ok 3 - Every merged chunk is defined after stdout closed early ok 4 - Merged Supply completes when stderr ends after stdout closed early ok 5 - Merged output includes stdout output produced before stderr closed ok 6 - Merged output includes stdout output produced after stderr closed ok 7 - Every merged chunk is defined after stderr closed early ok 8 - Merged Supply completes when stdout ends after stderr closed early ok 9 - A merged child that writes nothing produces no output ok 10 - Merged Supply completes for a child that writes nothing ok t/02-rakudo/stub-routine-redefinition.t ......................... 1..4 # Subtest: a definition replaces a forward-declared stub without a warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a definition replaces a forward-declared stub without a warning # Subtest: a second stub replaces a forward-declared stub without a warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - a second stub replaces a forward-declared stub without a warning # Subtest: redefining a non-stub routine is rejected 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - redefining a non-stub routine is rejected # Subtest: a stub does not replace an existing non-stub routine 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - a stub does not replace an existing non-stub routine ok t/05-messages/moar/01-errors.t .................................. 1..1 # Subtest: no SEGV with failed opens of MVM debug files 1..3 # Subtest: MVM_SPESH_LOG 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - MVM_SPESH_LOG # Subtest: MVM_DYNVAR_LOG 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - MVM_DYNVAR_LOG # Subtest: MVM_COVERAGE_LOG 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - MVM_COVERAGE_LOG ok 1 - no SEGV with failed opens of MVM debug files ok t/02-rakudo/lexical-declarator-doc.t ............................ 1..8 # Subtest: a trailing declarator doc on a lexical does not warn about a missing declarand 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a trailing declarator doc on a lexical does not warn about a missing declarand # Subtest: trailing declarator docs on our and state declarations do not warn either 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - trailing declarator docs on our and state declarations do not warn either # Subtest: leading declarator doc before a lexical falls through to the next declarand 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - leading declarator doc before a lexical falls through to the next declarand # Subtest: a trailing declarator doc on a typed lexical does not become the WHY of its type 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - a trailing declarator doc on a typed lexical does not become the WHY of its type # Subtest: a trailing declarator doc on a typed lexical does not replace the class doc 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - a trailing declarator doc on a typed lexical does not replace the class doc # Subtest: a documented lexical does not leave a hole in $=pod 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - a documented lexical does not leave a hole in $=pod # Subtest: a trailing declarator doc attaches to a HAS attribute without warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - a trailing declarator doc attaches to a HAS attribute without warning ok 8 - # SKIP the $=rakudoc variable requires the RakuAST frontend ok t/02-rakudo/unit-class-export-compose.t ......................... 1..2 ok 1 - unit class with attributes plus `is export` precompiles and loads cleanly ok 2 - no errors or warnings in stderr ok t/08-performance/03-optimizer-regressions.t ..................... 1..1 ok 1 - Smartmatch optimization does not lead to non-Mu:U object smartmatching with Mu:U ok t/07-pod-to-text/02-input-output.t .............................. 1..20 ok 1 - The object is-a 'Pod::Block::Code' ok 2 - ok 3 - The object is-a 'Pod::Block::Code' ok 4 - ok 5 - The object is-a 'Pod::Block::Code' ok 6 - ok 7 - The object is-a 'Pod::Block::Code' ok 8 - ok 9 - The object is-a 'Pod::Block::Code' ok 10 - ok 11 - The object is-a 'Pod::Block::Code' ok 12 - ok 13 - The object is-a 'Pod::Block::Code' ok 14 - ok 15 - The object is-a 'Pod::Block::Code' ok 16 - ok 17 - The object is-a 'Pod::Block::Code' ok 18 - ok 19 - The object is-a 'Pod::Defn' ok 20 - ok t/07-pod-to-text/01-whitespace.t ................................ 1..4 # Subtest: Code blocks 1..3 ok 1 - Empty lines don't get added spaces ok 2 - Plain continuation lines are aligned ok 3 - Formatting Codes in code block ok 1 - Code blocks # Subtest: Input blocks 1..3 ok 1 - Empty lines don't get added spaces ok 2 - Plain continuation lines are aligned ok 3 - Formatting Codes in input block ok 2 - Input blocks # Subtest: Output blocks 1..3 ok 1 - Empty lines don't get added spaces ok 2 - Plain continuation lines are aligned ok 3 - Formatting Codes in output block ok 3 - Output blocks # Subtest: Tables 1..1 ok 1 - Final table row is not space-padded ok 4 - Tables ok t/08-performance/05-processkeys.t ............................... 1..2 ok 1 - control for $*EXECUTABLE ok 2 - No unexpected entries in PROCESS:: ok t/02-rakudo/regex-modifier-alt-branch.t ......................... 1..5 # Subtest: :i as the first branch of `|` alternation matches with the modifier applied 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - :i as the first branch of `|` alternation matches with the modifier applied # Subtest: :i in a non-first branch position applies to subsequent branches 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - :i in a non-first branch position applies to subsequent branches # Subtest: :!i as the first branch of `|` alternation keeps case-sensitive matching 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - :!i as the first branch of `|` alternation keeps case-sensitive matching # Subtest: :i as the first branch of `||` alternation compiles 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - :i as the first branch of `||` alternation compiles # Subtest: :i as the first branch of `&` conjunction compiles 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - :i as the first branch of `&` conjunction compiles ok t/04-nativecall/24-cpp_param_letter.t ........................... 1..76 ok 1 - The object is-a 'Str' ok 2 - test GNU Bool with :h, :b, :o ok 3 - The object is-a 'Str' ok 4 - test GNU int16 with :h, :t, :i ok 5 - The object is-a 'Str' ok 6 - test GNU int32 with :c, :n, :h ok 7 - The object is-a 'Str' ok 8 - test GNU int64 with :d, :w, :k ok 9 - The object is-a 'Str' ok 10 - test GNU int8 with :h, :k, :l ok 11 - The object is-a 'Str' ok 12 - test GNU NativeCall::Types::CArray[int] with :, :x, :c ok 13 - The object is-a 'Str' ok 14 - test GNU NativeCall::Types::long with :w, :u, :e ok 15 - The object is-a 'Str' ok 16 - test GNU NativeCall::Types::longlong with :m, :c, :o ok 17 - The object is-a 'Str' ok 18 - test GNU NativeCall::Types::Pointer[int] with :, :p, :x ok 19 - The object is-a 'Str' ok 20 - test GNU NativeCall::Types::ulong with :x, :o, :e ok 21 - The object is-a 'Str' ok 22 - test GNU NativeCall::Types::ulonglong with :h, :x, :b ok 23 - The object is-a 'Str' ok 24 - test GNU NativeCall::Types::void with :x, :n, :b ok 25 - The object is-a 'Str' ok 26 - test GNU num32 with :l, :r, :z ok 27 - The object is-a 'Str' ok 28 - test GNU num64 with :a, :r, :p ok 29 - The object is-a 'Str' ok 30 - test GNU Str with :, :l, :n ok 31 - The object is-a 'Str' ok 32 - test GNU uint16 with :f, :n, :b ok 33 - The object is-a 'Str' ok 34 - test GNU uint32 with :z, :b, :d ok 35 - The object is-a 'Str' ok 36 - test GNU uint64 with :c, :o, :h ok 37 - The object is-a 'Str' ok 38 - test GNU uint8 with :f, :a, :j ok 39 - The object is-a 'Str' ok 40 - test MSVC Bool with :g, :c, :x ok 41 - The object is-a 'Str' ok 42 - test MSVC int16 with :k, :g, :l ok 43 - The object is-a 'Str' ok 44 - test MSVC int32 with :d, :v, :p ok 45 - The object is-a 'Str' ok 46 - test MSVC int64 with :x, :w, :l ok 47 - The object is-a 'Str' ok 48 - test MSVC int8 with :i, :g, :c ok 49 - The object is-a 'Str' ok 50 - test MSVC NativeCall::Types::CArray[int] with :y, :w, :e ok 51 - The object is-a 'Str' ok 52 - test MSVC NativeCall::Types::long with :l, :v, :x ok 53 - The object is-a 'Str' ok 54 - test MSVC NativeCall::Types::longlong with :m, :x, :t ok 55 - The object is-a 'Str' ok 56 - test MSVC NativeCall::Types::Pointer[int] with :m, :h, :o ok 57 - The object is-a 'Str' ok 58 - test MSVC NativeCall::Types::ulong with :f, :z, :d ok 59 - The object is-a 'Str' ok 60 - test MSVC NativeCall::Types::ulonglong with :u, :c, :b ok 61 - The object is-a 'Str' ok 62 - test MSVC NativeCall::Types::void with :j, :g, :z ok 63 - The object is-a 'Str' ok 64 - test MSVC num32 with :l, :y, :g ok 65 - The object is-a 'Str' ok 66 - test MSVC num64 with :k, :c, :f ok 67 - The object is-a 'Str' ok 68 - test MSVC Str with :j, :m, :n ok 69 - The object is-a 'Str' ok 70 - test MSVC uint16 with :y, :h, :t ok 71 - The object is-a 'Str' ok 72 - test MSVC uint32 with :e, :q, :t ok 73 - The object is-a 'Str' ok 74 - test MSVC uint64 with :k, :n, :j ok 75 - The object is-a 'Str' ok 76 - test MSVC uint8 with :c, :u, :q ok t/02-rakudo/12-multi-revision-gated.t ........................... 1..8 # Subtest: is revision-gated("6.c") candidate called for 'use v6.c;' 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - is revision-gated("6.c") candidate called for 'use v6.c;' # Subtest: is revision-gated("6.d") candidate called for 'use v6.d;' 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - is revision-gated("6.d") candidate called for 'use v6.d;' # Subtest: is revision-gated("6.e") candidate called for 'use v6.e;' 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - is revision-gated("6.e") candidate called for 'use v6.e;' # Subtest: candidates differing in parameter name only supersede (6.c caller) 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - candidates differing in parameter name only supersede (6.c caller) # Subtest: candidates differing in parameter name only supersede (6.e caller) 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - candidates differing in parameter name only supersede (6.e caller) # Subtest: same-revision equivalent candidates dispatch to one candidate 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - same-revision equivalent candidates dispatch to one candidate ok 7 - # SKIP the redeclaration worry needs the RakuAST frontend ok 8 - # SKIP the redeclaration worry needs the RakuAST frontend ok t/02-rakudo/will-phaser-mainline.t .............................. 1..4 # Subtest: will leave on a top level variable runs at mainline exit 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - will leave on a top level variable runs at mainline exit # Subtest: will enter on a top level variable runs before the mainline body 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - will enter on a top level variable runs before the mainline body # Subtest: will leave inside a routine still runs on routine exit 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - will leave inside a routine still runs on routine exit # Subtest: will enter and will leave on one top level variable bracket the mainline body 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - will enter and will leave on one top level variable bracket the mainline body ok t/02-rakudo/14-revisions.t ...................................... 1..3 # Subtest: CORE.setting Revision 1..3 # Subtest: CORE.setting 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - CORE.setting # Subtest: CORE.d.setting 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - CORE.d.setting # Subtest: CORE.e.setting 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - CORE.e.setting ok 1 - CORE.setting Revision # Subtest: Modifiers 1..4 # Subtest: 6.e without PREVIEW dies 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - 6.e without PREVIEW dies # Subtest: v6.d.TEST loads CORE.d.setting 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - v6.d.TEST loads CORE.d.setting # Subtest: Deprecated modifier generates a warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - Deprecated modifier generates a warning # Subtest: Unknown modifier dies 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - Unknown modifier dies ok 2 - Modifiers # Subtest: Class Version 1..3 # Subtest: 6.c class version 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - 6.c class version # Subtest: 6.c class version on 6.d compiler 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - 6.c class version on 6.d compiler # Subtest: 6.e class version 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - 6.e class version ok 3 - Class Version ok t/02-rakudo/native-argument-snapshot.t .......................... 1..9 ok 1 - a native lexical as a pair value is snapshotted at construction ok 2 - a native attribute as a pair value is snapshotted at construction ok 3 - a native argument stored by a sub through a raw parameter is a snapshot ok 4 - a native argument stored by a prefix through a raw parameter is a snapshot ok 5 - a native argument stored by a postfix through a raw parameter is a snapshot ok 6 - a native argument to an rw parameter still writes back ok 7 - a native argument to an infix with an rw parameter stays writable ok 8 - a native argument after a named argument still binds rw to its parameter ok 9 - a native argument after a flattened argument still binds rw to its parameter ok t/02-rakudo/regex-boundary-assertion.t .......................... 1..8 # Subtest: an unrecognized `<|b>` boundary matches the empty string before 6.e 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - an unrecognized `<|b>` boundary matches the empty string before 6.e # Subtest: `<|w>` is a word boundary 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - `<|w>` is a word boundary # Subtest: `<|c>` codepoint boundary always matches at our Unicode level 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - `<|c>` codepoint boundary always matches at our Unicode level # Subtest: an unrecognized boundary is a compile error from 6.e 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - an unrecognized boundary is a compile error from 6.e # Subtest: `<|w>` is still a valid boundary under 6.e 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - `<|w>` is still a valid boundary under 6.e # Subtest: `<|c>` is still a valid boundary under 6.e 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - `<|c>` is still a valid boundary under 6.e # Subtest: a multi-character unrecognized boundary is reported with its full name 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - a multi-character unrecognized boundary is reported with its full name # Subtest: an unrecognized boundary no-ops inside an alternation before 6.e 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 8 - an unrecognized boundary no-ops inside an alternation before 6.e ok t/08-performance/12-rakuast-collapse-ternary.t .................. 1..8 ok 1 - a true constant condition selects the then branch ok 2 - a false constant condition selects the else branch ok 3 - the condition uses Raku truthiness, where a non-empty string is true ok 4 - a type object condition is left for runtime ok 5 - a runtime condition is left for runtime ok 6 - a condition whose truthiness throws is left for runtime ok 7 - a condition that declares a variable is left for runtime ok 8 - the unoptimized tree keeps the ternary ok t/08-performance/13-rakuast-collapse-short-circuit.t ............ 1..13 ok 1 - a true left operand of && yields the right side ok 2 - a false left operand of && yields itself ok 3 - the dropped side is gone from the tree ok 4 - a true left operand of || yields itself ok 5 - the dropped side of || is gone from the tree ok 6 - the loose form and collapses the same way ok 7 - the loose form or collapses the same way ok 8 - a runtime left operand is left for runtime ok 9 - a left operand that declares a variable is left for runtime ok 10 - a side holding a declaration keeps the branch ok 11 - a side whose declarations are confined to a block of its own is dropped ok 12 - a side declaring a named sub is kept ok 13 - the unoptimized tree keeps the short-circuit ok t/02-rakudo/whatever-default-precomp.t .......................... 1..4 ok 1 - Whatever attribute default: exits cleanly ok 2 - Whatever attribute default: no MVMContext serialize REPR error ok 3 - HyperWhatever attribute default: exits cleanly ok 4 - HyperWhatever attribute default: no MVMContext serialize REPR error ok t/08-performance/14-rakuast-native-incdec.t ..................... 1..16 ok 1 - native int increment steps the value ok 2 - native int post-increment returns the original ok 3 - native int decrement steps the value ok 4 - native num increment steps the value ok 5 - native int pre-increment returns the stepped value ok 6 - native int pre-decrement steps the value ok 7 - a narrow native pre-increment wraps correctly ok 8 - a user-redefined postfix is not lowered ok 9 - a user-redefined prefix is not lowered ok 10 - a native postfix operand lowers to a raw op ok 11 - a native prefix operand lowers to a raw op ok 12 - a boxed operand keeps the operator call ok 13 - # SKIP copy-parameter lowering shape is RakuAST-specific ok 14 - # SKIP copy-parameter lowering shape is RakuAST-specific ok 15 - # SKIP copy-parameter lowering shape is RakuAST-specific ok 16 - # SKIP copy-parameter lowering shape is RakuAST-specific ok t/08-performance/15-rakuast-native-metaop.t ..................... 1..17 ok 1 - native int += steps by the operand ok 2 - native int -= steps by the operand ok 3 - native int *= steps by the operand ok 4 - native num += steps by the operand ok 5 - native num += a number literal ok 6 - an all-native step wraps on overflow ok 7 - a user-redefined operator is not lowered ok 8 - a non-native operand keeps the metaop call ok 9 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok 10 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok 11 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok 12 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok 13 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok 14 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok 15 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok 16 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok 17 - # SKIP integer-literal and native lowering shape is RakuAST-specific ok t/08-performance/16-rakuast-scalar-metaop.t ..................... 1..16 ok 1 - a plain compound assignment steps the value ok 2 - a test assignment assigns when the left is undefined ok 3 - a test assignment keeps a defined left ok 4 - an or assignment assigns a false left ok 5 - an and assignment assigns a true left ok 6 - a chained compound assignment composes ok 7 - a longer chain composes ok 8 - a defined left does not run the right ok 9 - an undefined typed scalar autovivifies ok 10 - an undefined scalar autovivifies for a non-commutative operator ok 11 - a nested array metaop is left to the metaop ok 12 - orelse keeps a defined left ok 13 - andthen does not assign on an undefined left ok 14 - a xor assignment with two true operands yields Nil ok 15 - a user-redefined operator is not inlined ok 16 - a compound assignment inlines the metaop away ok t/08-performance/21-rakuast-return-decont.t ..................... 1..12 ok 1 - a literal result skips the return decont ok 2 - a type object result skips the return decont ok 3 - a native variable result skips the return decont ok 4 - a native assignment result downgrades to a native decont ok 5 - a boxed variable result keeps the return decont ok 6 - a call result keeps the return decont ok 7 - a literal return gives its value ok 8 - a native variable return gives its value ok 9 - a native assignment return gives the assigned value ok 10 - the native assignment still stores ok 11 - a returned copy does not alias the inner container ok 12 - an rw routine still returns its container ok t/08-performance/17-rakuast-dot-assign.t ........................ 1..11 ok 1 - an explicit scalar target stores the result back ok 2 - an explicit array target stores the result back ok 3 - a declaration with a dot-assignment constructs the value ok 4 - a bare topic dot-assignment stores the result back ok 5 - a with modifier runs the call on a defined topic ok 6 - a with modifier skips the call on an undefined topic ok 7 - a without modifier runs the call on an undefined topic ok 8 - a chained topic dot-assignment composes ok 9 - a complex target is evaluated once ok 10 - an explicit dot-assignment inlines the dispatcher away ok 11 - a topic dot-assignment inlines the dispatcher away ok t/08-performance/24-rakuast-slice-unroll.t ...................... 1..12 ok 1 - a literal integer slice unrolls to AT-POS calls ok 2 - a slice assignment target keeps the postcircumfix call ok 3 - a runtime index keeps the postcircumfix call ok 4 - an adverbed slice keeps the postcircumfix call ok 5 - an unrolled slice gives its values ok 6 - a three-index slice gives its values ok 7 - an unrolled slice list-binds ok 8 - an out-of-range index still yields a slot ok 9 - the out-of-range value is undefined ok 10 - slice assignment still stores ok 11 - slice assignment past the end still extends ok 12 - a slice result has slice shape ok t/08-performance/23-rakuast-native-condition.t .................. 1..14 ok 1 - # SKIP the stripped comparison shapes are specific to the RakuAST frontend ok 2 - # SKIP the stripped comparison shapes are specific to the RakuAST frontend ok 3 - # SKIP the stripped comparison shapes are specific to the RakuAST frontend ok 4 - # SKIP the stripped comparison shapes are specific to the RakuAST frontend ok 5 - a bare native-int while condition compares against zero ok 6 - a boxed variable condition stays as it was ok 7 - a stripped while comparison loops the right number of times ok 8 - a bare native-int condition counts down to zero ok 9 - a negative native int is true and increments up to zero ok 10 - ternaries are untouched and correct ok 11 - a stripped elsif chain picks the right branch ok 12 - stripped condition modifiers still fire correctly ok 13 - a stripped repeat-while runs its body first ok 14 - a with part still topicalizes its condition value ok t/08-performance/20-rakuast-square-multiply.t ................... 1..13 ok 1 - squaring a typed variable compiles to a multiply ok 2 - squaring a native variable compiles to a multiply ok 3 - a different exponent keeps the power routine ok 4 - a call operand keeps the power routine ok 5 - a user power operator keeps its call ok 6 - a typed Int square computes the power ok 7 - a native num square computes the power ok 8 - a typed Rat square computes the power ok 9 - a negative base squares to a positive ok 10 - an untyped variable square computes the power ok 11 - a sigiled constant square computes the power not ok 12 - a junction square keeps eigenstate semantics # TODO the legacy optimizer autothreads a junction square wrongly # Failed test 'a junction square keeps eigenstate semantics' # at t/08-performance/20-rakuast-square-multiply.t line 76 ok 13 - a junction square squares each eigenstate ok t/08-performance/22-rakuast-ct-dispatch.t ....................... 1..17 ok 1 - native int addition compiles to add_i with no operator call ok 2 - a standalone comparison compiles to islt_i with no chain call ok 3 - a multi-link chain keeps its chain calls, whose protocol inlining would break ok 4 - native num multiplication compiles to mul_n with no operator call ok 5 - # SKIP user-sub inlining through inlined operators is specific to the RakuAST frontend ok 6 - the soft pragma keeps the call so the routine stays wrappable ok 7 - inlined native addition computes the right value ok 8 - an integer literal too wide for a native stays a boxed dispatch ok 9 - junction arguments still autothread rather than taking a decided dispatch ok 10 - a true multi-link chain still short-circuits correctly ok 11 - a false first link stops a multi-link chain ok 12 - an rw native parameter keeps the call and writes through ok 13 - wrapping a routine compiled under soft still intercepts calls ok 14 - a decided multi call still lands on the int candidate ok 15 - a decided multi call still lands on the str candidate ok 16 - calling the operator through its code object still works ok 17 - the reduce metaop over an inlinable operator still works ok t/08-performance/24-rakuast-when-typematch.t .................... 1..15 ok 1 - # SKIP the reduced when shapes are specific to the RakuAST frontend ok 2 - # SKIP the reduced when shapes are specific to the RakuAST frontend ok 3 - # SKIP the reduced when shapes are specific to the RakuAST frontend ok 4 - # SKIP the reduced when shapes are specific to the RakuAST frontend ok 5 - a reduced when chain dispatches each topic to the right arm ok 6 - a user ACCEPTS matcher still runs its own logic ok 7 - a concrete Junction topic still autothreads the match ok 8 - a subset matcher still runs its refinement ok 9 - a type-object topic matches its own type ok 10 - proceed still falls through a reduced when ok 11 - statements between reduced whens still run ok 12 - reduced when statement modifiers fire on the topic type ok 13 - a Mu matcher accepts everything either way ok 14 - succeed leaves a reduced when arm cleanly ok 15 - a given returning a reduced when arm value still returns it ok t/08-performance/19-rakuast-typematch.t ......................... 1..22 ok 1 - a smartmatch against a type object compiles to a type check ok 2 - a negated smartmatch against a type object compiles to a negated type check ok 3 - the type check carries a Junction fallback for the topic ok 4 - a match against Junction itself needs no fallback ok 5 - a smartmatch of two compile-time values folds to a constant ok 6 - a smartmatch against a subset compiles to a type check ok 7 - a matcher with its own ACCEPTS keeps the full smartmatch ok 8 - a matcher only known at runtime keeps the full smartmatch ok 9 - a variable topic matches its type ok 10 - a negated match against a foreign type holds ok 11 - a definite type matches a concrete topic ok 12 - a definite type rejects an undefined topic ok 13 - a coercion type accepts a coercible topic ok 14 - a subset runs its refinement ok 15 - a subset accepts a refined value ok 16 - a user ACCEPTS candidate still runs ok 17 - an any Junction topic autothreads ok 18 - an all Junction topic autothreads ok 19 - a negated Junction match negates the whole match ok 20 - a Junction topic autothreads over a subset ok 21 - the topic is evaluated once ok 22 - a package stash topic matches its type at runtime ok t/02-rakudo/99-misc.t ........................................... 1..14 # Subtest: IO::Handle.raku.EVAL roundtrips 1..7 ok 1 - type object ok 2 - instance ok 3 - path ok 4 - chomp ok 5 - nl-in ok 6 - nl-out ok 7 - encoding ok 1 - IO::Handle.raku.EVAL roundtrips # Subtest: profiler does not crash 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - profiler does not crash ok 3 - no crash when defining multiple routines with tightnes ok 4 - parametarization of a DefiniteHOW does not complain about complex coercers # Subtest: postfix-to-prefix-inc-dec opt does not rewrite custom ops 1..5 # Subtest: custom classes 1..2 ok 1 - postfix increment ok 2 - postfix decrement ok 1 - custom classes # Subtest: core types (Int) 1..2 ok 1 - postfix increment ok 2 - postfix decrement ok 2 - core types (Int) # Subtest: core types (Num) 1..2 ok 1 - postfix increment ok 2 - postfix decrement ok 3 - core types (Num) # Subtest: core types (native int) 1..2 ok 1 - postfix increment ok 2 - postfix decrement ok 4 - core types (native int) # Subtest: core types (native num) 1..2 ok 1 - postfix increment ok 2 - postfix decrement ok 5 - core types (native num) ok 5 - postfix-to-prefix-inc-dec opt does not rewrite custom ops ok 6 - regex blocks update their lexical variables right # Subtest: collation experiment 1..2 # Subtest: $*COLLATION.set no longer requires experimental pragma 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - $*COLLATION.set no longer requires experimental pragma # Subtest: we can still use the pragma (to support old code) 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - we can still use the pragma (to support old code) ok 7 - collation experiment # Subtest: Distribution::Resource can be stringified ok 1 - Can use .raku Use of uninitialized value of type Distribution::Resource in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at t/02-rakudo/99-misc.t line 141 ok 2 - Can use .Str ok 3 - Can use .gist 1..3 ok 8 - Distribution::Resource can be stringified ok 9 - Subclassing of Parameter works ok 10 - Parameter takes by-name parameters itself # Subtest: Temporal not ok 1 - .from-posix-nanos vs .from-posix # TODO Needs more time or expertise # Failed test '.from-posix-nanos vs .from-posix' # at t/02-rakudo/99-misc.t line 155 # expected: 'Instant:915148832.999999999' # got: 'Instant:915148800.999999999' 1..1 ok 11 - Temporal # Subtest: DOC use loads only when compiling documentation 1..2 # Subtest: a DOC-prefixed use is inert without --doc 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a DOC-prefixed use is inert without --doc # Subtest: a DOC-prefixed use loads the module under --doc 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - a DOC-prefixed use loads the module under --doc ok 12 - DOC use loads only when compiling documentation # Subtest: trailing paren declarator doc directly after a block 1..1 ok 1 - the doc attaches without a separating semicolon ok 13 - trailing paren declarator doc directly after a block # Subtest: a stash reference used as a compile-time value is the stash 1..4 ok 1 - a trailing :: on a class name gives its stash ok 2 - the stash holds the nested package ok 3 - a trailing :: on GLOBAL gives a stash ok 4 - a name without a trailing :: keeps its own value ok 14 - a stash reference used as a compile-time value is the stash Saw 1 occurrence of deprecated code. ================================================================================ Method perl (from Mu) seen at: t/02-rakudo/99-misc.t, line 150 Please use raku instead. -------------------------------------------------------------------------------- Please contact the author to have these occurrences of deprecated code adapted, so that this message will disappear! ok t/08-performance/22-rakuast-regex-optimize.t .................... 1..26 ok 1 - # SKIP the assertion shapes are specific to the RakuAST frontend ok 2 - # SKIP the assertion shapes are specific to the RakuAST frontend ok 3 - # SKIP the assertion shapes are specific to the RakuAST frontend ok 4 - # SKIP the assertion shapes are specific to the RakuAST frontend ok 5 - # SKIP the assertion shapes are specific to the RakuAST frontend ok 6 - # SKIP the assertion shapes are specific to the RakuAST frontend ok 7 - # SKIP the assertion shapes are specific to the RakuAST frontend ok 8 - a regex anchored to the beginning of the string drops its scan ok 9 - an unanchored regex keeps its scan ok 10 - a reduced before assertion matches zero width at the right position ok 11 - backtracking settles where the reduced before assertion holds ok 12 - a reduced negated before assertion holds where its class does not match ok 13 - longest token matching still sees through a before assertion ok 14 - a substitution at a reduced before assertion inserts at its position ok 15 - a quantified group with a reduced before assertion iterates per position ok 16 - a before assertion under the ignorecase modifier still matches through its thunk ok 17 - a before assertion of a character range matches ok 18 - a negated before assertion of a character class holds at the end of the string ok 19 - a reduced negated before assertion of a character list holds at the end of the string ok 20 - a negated before assertion of a negated character list holds at the end of the string ok 21 - a negated before assertion of a character range holds at the end of the string ok 22 - a negated before assertion of a character range fails on a range character ok 23 - a before assertion of a negated character list fails at the end of the string ok 24 - a before assertion of a negated character class fails at the end of the string ok 25 - a negated before assertion of a literal holds at the end of the string ok 26 - an after assertion matches through its thunk ok t/08-performance/02-qast-rewrites.t ............................. 1..4 # Subtest: postfix-inc/dec on natives gets overwritten to prefix 1..8 ok 1 - int, void context ++ ok 2 - int, non-void context ++ ok 3 - int, void context -- ok 4 - int, non-void context -- ok 5 - num, void context ++ ok 6 - num, non-void context ++ ok 7 - num, void context -- ok 8 - num, non-void context -- ok 1 - postfix-inc/dec on natives gets overwritten to prefix # Subtest: .dispatch:<.=> gets rewritten to simple ops 1..15 ok 1 - (my Int $x .=new).="{"new"}"(42); ok 2 - my Int $x; .=new andthen .=new orelse .=new; ok 3 - my \foo .= new ok 4 - my Int \foo .= new ok 5 - my Int $a; .=new without $a ok 6 - my Int $a; .=new with $a ok 7 - my Int $a; $a .= new ok 8 - my @a; @a .= new ok 9 - my @a .= new ok 10 - my %a; %a .= new ok 11 - my %a .= new ok 12 - my &a; &a .= new ok 13 - my &a .= new ok 14 - my $b = "meows"; $b .= WHAT ok 15 - my @b = ; @b .= sort ok 2 - .dispatch:<.=> gets rewritten to simple ops # Subtest: for {} 1..13 ok 1 - for ^10 {} case gets optimized entirely ok 2 - for 1..10 {} case gets optimized entirely ok 3 - for 1..^10 {} case gets optimized entirely ok 4 - for 1^..10 {} case gets optimized entirely ok 5 - for 1^..^10 {} case gets optimized entirely ok 6 - for 1...10 {} case gets optimized entirely ok 7 - for 1, 2...10 {} case gets optimized entirely ok 8 - for 10...2 {} case gets optimized entirely ok 9 - for 1,3...9 {} case gets optimized entirely ok 10 - for 9,7...1 {} case gets optimized entirely ok 11 - for ^10 .reverse {} case gets optimized entirely ok 12 - simple `for ^10 {}` case gets `p6forstmt` op to use ok 13 - named arg does not accidentally get counted as a positional ok 3 - for {} # Subtest: nested metaops get fully rewritten away from &METAOP sub calls 1..2 ok 1 - (//=)+= ok 2 - ((((//=)+=) //=) +=) ok 4 - nested metaops get fully rewritten away from &METAOP sub calls ok t/08-performance/20-rakuast-lex2local-flatten.t ................. 1..30 ok 1 - an accumulator used only from a flattenable loop body is lowered ok 2 - a lexical captured by a closure inside the loop body keeps its lexical ok 3 - # SKIP smartmatch conservatism is specific to the RakuAST frontend ok 4 - a flattened body accumulates into the enclosing lexical ok 5 - each iteration of a flattened body sees its own value ok 6 - each iteration of a flattened body gets a fresh container ok 7 - next and last control a loop with a flattened body ok 8 - closures in a loop body capture per-iteration variables ok 9 - a conditionless loop statement flattens and terminates ok 10 - a repeat loop runs its flattened body once before the test ok 11 - given and when inside a loop body behave unchanged ok 12 - a CATCH in the loop body keeps the body a frame and fires ok 13 - # SKIP bare block flattening is specific to the RakuAST frontend ok 14 - a flattened bare block statement runs its statements ok 15 - a bare block that rebinds the topic keeps its frame and alias ok 16 - an accumulator used from branch bodies inside a loop body is lowered ok 17 - flattened branch bodies inside a flattened loop accumulate correctly ok 18 - a value-producing if with flattened branches evaluates to the branch value ok 19 - an elsif chain with flattened branches selects correctly ok 20 - a flattened unless body runs when its condition is false ok 21 - a dynamic lookup in a branch body still walks the caller chain ok 22 - # SKIP for and given body flattening is specific to the RakuAST frontend ok 23 - # SKIP for and given body flattening is specific to the RakuAST frontend ok 24 - # SKIP for and given body flattening is specific to the RakuAST frontend ok 25 - a flattened pointy for body accumulates correctly ok 26 - next and last control a flattened pointy for ok 27 - a for body using its topic behaves unchanged ok 28 - an rw pointy parameter keeps its frame and mutates ok 29 - an is-rw parameter keeps its frame and mutates ok 30 - closures over the parameter keep the body a frame per iteration ok t/08-performance/23-rakuast-array-init.t ........................ 1..27 not ok 1 - a plain array declaration initializer lowers past STORE # TODO the legacy optimizer no longer lowers this shape # Failed test 'a plain array declaration initializer lowers past STORE' # at t/08-performance/23-rakuast-array-init.t line 22 not ok 2 - a plain array assignment lowers past STORE behind a type guard # TODO the legacy optimizer no longer lowers this shape # Failed test 'a plain array assignment lowers past STORE behind a type guard' # at t/08-performance/23-rakuast-array-init.t line 26 not ok 3 - an array-valued element still lowers # TODO the legacy optimizer no longer lowers this shape # Failed test 'an array-valued element still lowers' # at t/08-performance/23-rakuast-array-init.t line 32 ok 4 - a typed array keeps the STORE call ok 5 - a trait-bearing array keeps the STORE call ok 6 - a non-comma right side keeps its own initialization ok 7 - a lowered initializer stores the elements ok 8 - the element count is right ok 9 - the array stays mutable ok 10 - the array still grows ok 11 - a lowered assignment stores the elements ok 12 - a second assignment replaces the elements ok 13 - a slip element flattens ok 14 - an array element stays itemized ok 15 - a generator element reifies ok 16 - a typed array still initializes through STORE ok 17 - a default trait still applies through STORE ok 18 - a slip of the target appends to its old content ok 19 - indexing the target reads its old content ok 20 - a call reading the target sees its old content ok 21 - an eager gather reading the target sees its old content ok 22 - assignment to a declaration-bound native array stores natively ok 23 - assignment to a rebound native array stores natively # Subtest: assignment to an is List container still throws through STORE 1..2 ok 1 - code dies ok 2 - right exception type (X::Assignment::RO) ok 24 - assignment to an is List container still throws through STORE ok 25 - assignment to an Array subclass dispatches its own STORE ok 26 - a with modifier operand initializes through STORE ok 27 - an inlined metaop operand initializes through STORE ok t/08-performance/26-rakuast-dead-branch.t ....................... 1..34 ok 1 - # SKIP the dead-branch shapes are specific to the RakuAST frontend ok 2 - # SKIP the dead-branch shapes are specific to the RakuAST frontend ok 3 - # SKIP the dead-branch shapes are specific to the RakuAST frontend ok 4 - # SKIP the dead-branch shapes are specific to the RakuAST frontend ok 5 - # SKIP the dead-branch shapes are specific to the RakuAST frontend ok 6 - # SKIP the dead-branch shapes are specific to the RakuAST frontend ok 7 - the surviving else branch runs ok 8 - code after a dropped constant-gated branch runs ok 9 - a false conditional with no else is Empty ok 10 - a true conditional yields its then value ok 11 - a false conditional yields its else value ok 12 - a false unless condition yields its body value ok 13 - a true unless condition is Empty ok 14 - condition modifiers with known truth keep the right statements ok 15 - a dropped-condition declaration is still declared and undefined ok 16 - elsif chains pick the same arms as at runtime ok 17 - a declaration in a kept elsif condition still binds ok 18 - a with part is untouched and still topicalizes ok 19 - chained comparisons on constants fold to the runtime answers ok 20 - a folded link inside a live chain still chains ok 21 - a collapsed branch that then flattens still runs its code ok 22 - a constant whose Bool throws keeps the throw at runtime ok 23 - # SKIP the unreachable-code shapes are specific to the RakuAST frontend ok 24 - # SKIP the unreachable-code shapes are specific to the RakuAST frontend ok 25 - # SKIP the unreachable-code shapes are specific to the RakuAST frontend ok 26 - # SKIP the unreachable-code shapes are specific to the RakuAST frontend ok 27 - a routine still returns its value with trailing code dropped ok 28 - a routine declared after a return is kept, since its name hoists ok 29 - an unreachable declaration is kept without running its initializer ok 30 - a phaser after a return still registers ok 31 - and fires when the routine is left ok 32 - resuming after a die still reaches the following statements ok 33 - a conditional return does not drop what follows ok 34 - a CATCH after a mainline return still catches the control exception ok t/08-performance/22-rakuast-copy-returns.t ...................... 1..9 ok 1 - a native int return is offered raw through a Want without boxing # TODO the legacy optimizer does not offer a native return through a Want ok 2 - a native num return is offered raw through a Want without boxing # TODO the legacy optimizer does not offer a native return through a Want ok 3 - a boxed return type adds no boxing op ok 4 - a native int return reaches a native target ok 5 - a native int return computes in object context ok 6 - a native num return computes ok 7 - a native str return computes ok 8 - a boxed declared return gives its value ok 9 - an imported our-scoped callee reassigned at runtime returns the new value # TODO the legacy optimizer copies a reassignable imported callee return type ok t/08-performance/25-rakuast-smartmatch-family.t ................. 1..39 ok 1 - # SKIP the reduced shapes are specific to the RakuAST frontend ok 2 - # SKIP the reduced shapes are specific to the RakuAST frontend ok 3 - # SKIP the reduced shapes are specific to the RakuAST frontend ok 4 - # SKIP the reduced shapes are specific to the RakuAST frontend ok 5 - # SKIP the reduced shapes are specific to the RakuAST frontend ok 6 - # SKIP the reduced shapes are specific to the RakuAST frontend ok 7 - a declared-type topic still answers each typematch correctly ok 8 - a typed parameter topic folds to the same answer ok 9 - literal matches compare the way their ACCEPTS would ok 10 - a topic that fails numeric coercion matches no number and does not throw not ok 11 - an undefined topic fails a literal match without warning # TODO the legacy optimizer answers False for a negated literal match on an undefined topic # Failed test 'an undefined topic fails a literal match without warning' # at t/08-performance/25-rakuast-smartmatch-family.t line 81 # expected: $(Bool::False, Bool::True) # got: $(Bool::False, Bool::False) ok 12 - a concrete Junction topic still autothreads a literal match ok 13 - both sides known folds through the literal ACCEPTS ok 14 - Pair matchers ask the method the key names ok 15 - an Associative topic takes the full Pair match ok 16 - a Pair in a variable keeps the full match and still matches ok 17 - unfolded junction conditions branch correctly ok 18 - a junction built from variables unfolds and still matches ok 19 - a junction comparison used as a value stays a Junction ok 20 - a junction in a variable is not unfolded and still autothreads ok 21 - an inline any-of-types constraint accepts a matching argument ok 22 - the second type of the constraint accepts too ok 23 - a non-matching argument still rejects ok 24 - an all-of-types constraint accepts when every type matches ok 25 - an all-of-types constraint rejects a partial match ok 26 - a subset eigenstate accepts through its refinement ok 27 - a subset eigenstate rejects through its refinement ok 28 - multi dispatch over an inline constraint is unchanged ok 29 - # SKIP the legacy optimizer miscompiles a chained ~~ in an argument list ok 30 - a fold withdrawn from a chain link passes the middle operand along ok 31 - a reduced link mixed with a comparison chains correctly ok 32 - # SKIP the junction-of-types shapes are specific to the RakuAST frontend ok 33 - # SKIP the junction-of-types shapes are specific to the RakuAST frontend ok 34 - junction-of-types conditions branch like the full match ok 35 - a concrete Junction topic still threads through the matcher ok 36 - when with a junction-of-types matcher picks the right arms ok 37 - a subset eigenstate runs its refinement in the type check ok 38 - a user-ACCEPTS eigenstate keeps the full match ok 39 - a constant junction matcher reduces and matches ok t/08-performance/99-misc.t ...................................... 1..1 ok 1 - eqaddr optimization for cmp exists ok t/08-performance/29-rakuast-attr-self-types.t ................... 1..21 ok 1 - # SKIP the typed shapes are specific to the RakuAST frontend ok 2 - # SKIP the typed shapes are specific to the RakuAST frontend ok 3 - # SKIP the typed shapes are specific to the RakuAST frontend ok 4 - # SKIP the typed shapes are specific to the RakuAST frontend ok 5 - # SKIP the typed shapes are specific to the RakuAST frontend ok 6 - # SKIP the typed shapes are specific to the RakuAST frontend ok 7 - # SKIP the typed shapes are specific to the RakuAST frontend ok 8 - inlined native attribute arithmetic accumulates correctly ok 9 - mixed inlined native attribute operations compute correctly ok 10 - a parameterized role attribute computes through the kept call ok 11 - a typed self picks the invocant candidate ok 12 - a subclass invocant still picks the invocant candidate ok 13 - a typed self still smartmatches its own class ok 14 - a definite typed attribute computes through the kept call ok 15 - a subset typed attribute computes through the kept call ok 16 - a coercion typed attribute computes through the kept call ok 17 - assigning a fractional literal to an Int attribute still compiles ok 18 - assigning a fractional literal to an Int attribute fails at run time ok 19 - a self argument that can never bind is rejected at compile time ok 20 - an attribute argument that can never bind is rejected at compile time ok 21 - an attribute reached from BEGIN compiled code in the still open class computes ok t/08-performance/35-curried-role-interning.t .................... 1..5 ok 1 - role instantiated from a generic curry is the interned parameterization ok 2 - typed array typecheck list holds the interned Positional[Int] ok 3 - typed hash typecheck list holds the interned Associative[Int] ok 4 - typed array typecheck list also holds the non-parameterized Positional ok 5 - curry mixing concrete and generic args instantiates to the interned parameterization ok t/02-rakudo/global-package-var-cross-unit.t ..................... 1..6 # Subtest: a hash written to GLOBAL by a module is readable outside it 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a hash written to GLOBAL by a module is readable outside it # Subtest: a GLOBAL hash reaches the dynamic variable fallback 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - a GLOBAL hash reaches the dynamic variable fallback # Subtest: a scalar written to GLOBAL by a module reaches the dynamic fallback 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - a scalar written to GLOBAL by a module reaches the dynamic fallback # Subtest: a sub a module binds into a GLOBAL-rooted package it also declares is callable by qualified name 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - a sub a module binds into a GLOBAL-rooted package it also declares is callable by qualified name # Subtest: the imported package and the GLOBAL entry of the same name are one object 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - the imported package and the GLOBAL entry of the same name are one object # Subtest: a class merges symbols from a same-named stub package an earlier module vivified in GLOBAL 1..3 not ok 1 - STDOUT # TODO the legacy frontend does not merge a vivified GLOBAL stub into an imported class # Failed test 'STDOUT' # at t/02-rakudo/global-package-var-cross-unit.t line 67 # expected: IntStr.new(42, "42") # matcher: 'infix:<~~>' # got: "" not ok 2 - STDERR # TODO the legacy frontend does not merge a vivified GLOBAL stub into an imported class # Failed test 'STDERR' # at t/02-rakudo/global-package-var-cross-unit.t line 67 # expected: "" # matcher: 'infix:<~~>' # got: "No such method 'AT-KEY' for invocant of type 'VMNull'\n in block at -e line 1\n\n" not ok 3 - Exit code # TODO the legacy frontend does not merge a vivified GLOBAL stub into an imported class # Failed test 'Exit code' # at t/02-rakudo/global-package-var-cross-unit.t line 67 # expected: 0 # matcher: 'infix:<~~>' # got: 1 not ok 6 - a class merges symbols from a same-named stub package an earlier module vivified in GLOBAL # TODO the legacy frontend does not merge a vivified GLOBAL stub into an imported class # Failed test 'a class merges symbols from a same-named stub package an earlier module vivified in GLOBAL' # at t/02-rakudo/global-package-var-cross-unit.t line 67 ok t/06-telemetry/04-threadpool.t .................................. 1..104 ok 1 - return Nil when setting with Str ok 2 - Was one instrument set with Str ok 3 - do we get the right class when setting with Str ok 4 - return Nil when setting with Telemetry::Instrument::ThreadPool ok 5 - Was one instrument set with Telemetry::Instrument::ThreadPool ok 6 - do we get the right class when setting with Telemetry::Instrument::ThreadPool ok 7 - are the columns in alphabetical order ok 8 - The object is-a 'Telemetry::Instrument::ThreadPool::Snap' ok 9 - Did we get a Any after roundtripping ok 10 - did we get the same value for atc ok 11 - did we get the same value for atq ok 12 - did we get the same value for aw ok 13 - did we get the same value for gtc ok 14 - did we get the same value for gtq ok 15 - did we get the same value for gw ok 16 - did we get the same value for s ok 17 - did we get the same value for ttc ok 18 - did we get the same value for ttq ok 19 - did we get the same value for tw ok 20 - did we get a Snap object from first set of values ok 21 - did we get a Telemetry object from $S1 ok 22 - does atc exist in Telemetry? ok 23 - did we get a non-zero value for atc using AT-KEY ok 24 - did we get a non-zero value for atc with a method ok 25 - did AT-KEY and method on T give the same value ok 26 - does atq exist in Telemetry? ok 27 - did we get a non-zero value for atq using AT-KEY ok 28 - did we get a non-zero value for atq with a method ok 29 - did AT-KEY and method on T give the same value ok 30 - does aw exist in Telemetry? ok 31 - did we get a non-zero value for aw using AT-KEY ok 32 - did we get a non-zero value for aw with a method ok 33 - did AT-KEY and method on T give the same value ok 34 - does gtc exist in Telemetry? ok 35 - did we get a non-zero value for gtc using AT-KEY ok 36 - did we get a non-zero value for gtc with a method ok 37 - did AT-KEY and method on T give the same value ok 38 - does gtq exist in Telemetry? ok 39 - did we get a non-zero value for gtq using AT-KEY ok 40 - did we get a non-zero value for gtq with a method ok 41 - did AT-KEY and method on T give the same value ok 42 - does gw exist in Telemetry? ok 43 - did we get a non-zero value for gw using AT-KEY ok 44 - did we get a non-zero value for gw with a method ok 45 - did AT-KEY and method on T give the same value ok 46 - does s exist in Telemetry? ok 47 - did we get a non-zero value for s using AT-KEY ok 48 - did we get a non-zero value for s with a method ok 49 - did AT-KEY and method on T give the same value ok 50 - does ttc exist in Telemetry? ok 51 - did we get a non-zero value for ttc using AT-KEY ok 52 - did we get a non-zero value for ttc with a method ok 53 - did AT-KEY and method on T give the same value ok 54 - does ttq exist in Telemetry? ok 55 - did we get a non-zero value for ttq using AT-KEY ok 56 - did we get a non-zero value for ttq with a method ok 57 - did AT-KEY and method on T give the same value ok 58 - does tw exist in Telemetry? ok 59 - did we get a non-zero value for tw using AT-KEY ok 60 - did we get a non-zero value for tw with a method ok 61 - did AT-KEY and method on T give the same value ok 62 - did we get a Snap object from second set of values ok 63 - did we get a Telemetry object from $S2 ok 64 - Did we get a T::Period ok 65 - does atc exist in Telemetry::Period? ok 66 - did we get a positive value for atc using AT-KEY ok 67 - did we get a positive value for atc using AT-KEY ok 68 - did AT-KEY/method on T:P give same value for atc ok 69 - does atq exist in Telemetry::Period? ok 70 - did we get a positive value for atq using AT-KEY ok 71 - did we get a positive value for atq using AT-KEY ok 72 - did AT-KEY/method on T:P give same value for atq ok 73 - does aw exist in Telemetry::Period? ok 74 - did we get a positive value for aw using AT-KEY ok 75 - did we get a positive value for aw using AT-KEY ok 76 - did AT-KEY/method on T:P give same value for aw ok 77 - does gtc exist in Telemetry::Period? ok 78 - did we get a positive value for gtc using AT-KEY ok 79 - did we get a positive value for gtc using AT-KEY ok 80 - did AT-KEY/method on T:P give same value for gtc ok 81 - does gtq exist in Telemetry::Period? ok 82 - did we get a positive value for gtq using AT-KEY ok 83 - did we get a positive value for gtq using AT-KEY ok 84 - did AT-KEY/method on T:P give same value for gtq ok 85 - does gw exist in Telemetry::Period? ok 86 - did we get a positive value for gw using AT-KEY ok 87 - did we get a positive value for gw using AT-KEY ok 88 - did AT-KEY/method on T:P give same value for gw ok 89 - does s exist in Telemetry::Period? ok 90 - did we get a positive value for s using AT-KEY ok 91 - did we get a positive value for s using AT-KEY ok 92 - did AT-KEY/method on T:P give same value for s ok 93 - does ttc exist in Telemetry::Period? ok 94 - did we get a positive value for ttc using AT-KEY ok 95 - did we get a positive value for ttc using AT-KEY ok 96 - did AT-KEY/method on T:P give same value for ttc ok 97 - does ttq exist in Telemetry::Period? ok 98 - did we get a positive value for ttq using AT-KEY ok 99 - did we get a positive value for ttq using AT-KEY ok 100 - did AT-KEY/method on T:P give same value for ttq ok 101 - does tw exist in Telemetry::Period? ok 102 - did we get a positive value for tw using AT-KEY ok 103 - did we get a positive value for tw using AT-KEY ok 104 - did AT-KEY/method on T:P give same value for tw ok t/06-telemetry/03-thread.t ...................................... 1..68 ok 1 - return Nil when setting with Str ok 2 - Was one instrument set with Str ok 3 - do we get the right class when setting with Str ok 4 - return Nil when setting with Telemetry::Instrument::Thread ok 5 - Was one instrument set with Telemetry::Instrument::Thread ok 6 - do we get the right class when setting with Telemetry::Instrument::Thread ok 7 - are the columns in alphabetical order ok 8 - The object is-a 'Telemetry::Instrument::Thread::Snap' ok 9 - Did we get a Any after roundtripping ok 10 - did we get the same value for tad ok 11 - did we get the same value for tcd ok 12 - did we get the same value for thid ok 13 - did we get the same value for tjd ok 14 - did we get the same value for tsd ok 15 - did we get the same value for tys ok 16 - did we get a Snap object from first set of values ok 17 - did we get a Telemetry object from $S1 ok 18 - does tad exist in Telemetry? ok 19 - did we get a non-zero value for tad using AT-KEY ok 20 - did we get a non-zero value for tad with a method ok 21 - did AT-KEY and method on T give the same value ok 22 - does tcd exist in Telemetry? ok 23 - did we get a non-zero value for tcd using AT-KEY ok 24 - did we get a non-zero value for tcd with a method ok 25 - did AT-KEY and method on T give the same value ok 26 - does thid exist in Telemetry? ok 27 - did we get a non-zero value for thid using AT-KEY ok 28 - did we get a non-zero value for thid with a method ok 29 - did AT-KEY and method on T give the same value ok 30 - does tjd exist in Telemetry? ok 31 - did we get a non-zero value for tjd using AT-KEY ok 32 - did we get a non-zero value for tjd with a method ok 33 - did AT-KEY and method on T give the same value ok 34 - does tsd exist in Telemetry? ok 35 - did we get a non-zero value for tsd using AT-KEY ok 36 - did we get a non-zero value for tsd with a method ok 37 - did AT-KEY and method on T give the same value ok 38 - does tys exist in Telemetry? ok 39 - did we get a non-zero value for tys using AT-KEY ok 40 - did we get a non-zero value for tys with a method ok 41 - did AT-KEY and method on T give the same value ok 42 - did we get a Snap object from second set of values ok 43 - did we get a Telemetry object from $S2 ok 44 - Did we get a T::Period ok 45 - does tad exist in Telemetry::Period? ok 46 - did we get a positive value for tad using AT-KEY ok 47 - did we get a positive value for tad using AT-KEY ok 48 - did AT-KEY/method on T:P give same value for tad ok 49 - does tcd exist in Telemetry::Period? ok 50 - did we get a positive value for tcd using AT-KEY ok 51 - did we get a positive value for tcd using AT-KEY ok 52 - did AT-KEY/method on T:P give same value for tcd ok 53 - does thid exist in Telemetry::Period? ok 54 - did we get a positive value for thid using AT-KEY ok 55 - did we get a positive value for thid using AT-KEY ok 56 - did AT-KEY/method on T:P give same value for thid ok 57 - does tjd exist in Telemetry::Period? ok 58 - did we get a positive value for tjd using AT-KEY ok 59 - did we get a positive value for tjd using AT-KEY ok 60 - did AT-KEY/method on T:P give same value for tjd ok 61 - does tsd exist in Telemetry::Period? ok 62 - did we get a positive value for tsd using AT-KEY ok 63 - did we get a positive value for tsd using AT-KEY ok 64 - did AT-KEY/method on T:P give same value for tsd ok 65 - does tys exist in Telemetry::Period? ok 66 - did we get a positive value for tys using AT-KEY ok 67 - did we get a positive value for tys using AT-KEY ok 68 - did AT-KEY/method on T:P give same value for tys ok t/08-performance/10-rakuast-optimize-phase.t .................... 1..7 # Subtest: the optimize stage tree holds no operator application 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - the optimize stage tree holds no operator application # Subtest: --optimize=off leaves the operator in the tree 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - --optimize=off leaves the operator in the tree # Subtest: the ast stage tree holds the operator before optimize 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - the ast stage tree holds the operator before optimize ok 4 - a synthetic AST EVALs to the right value ok 5 - EVAL runs the optimize phase over a synthetic tree ok 6 - the optimize pass is idempotent ok 7 - optimized and unoptimized runs produce identical output ok t/08-performance/32-rakuast-native-param-bind.t ................. 1..26 ok 1 - # SKIP the binding shapes are specific to the RakuAST frontend ok 2 - # SKIP the binding shapes are specific to the RakuAST frontend ok 3 - # SKIP the binding shapes are specific to the RakuAST frontend ok 4 - # SKIP the binding shapes are specific to the RakuAST frontend ok 5 - # SKIP the binding shapes are specific to the RakuAST frontend ok 6 - # SKIP the binding shapes are specific to the RakuAST frontend ok 7 - # SKIP the binding shapes are specific to the RakuAST frontend ok 8 - # SKIP the binding shapes are specific to the RakuAST frontend ok 9 - # SKIP the binding shapes are specific to the RakuAST frontend ok 10 - a native int parameter passes its value ok 11 - a native num parameter passes its value ok 12 - a native str parameter passes its value ok 13 - an rw native parameter writes back to the caller ok 14 - a copy native parameter steps its own copy ok 15 - the copy leaves the caller alone ok 16 - a sized int parameter computes at full width ok 17 - an omitted optional native takes its default ok 18 - a passed optional native takes the argument ok 19 - a named native binds a passed named ok 20 - an omitted named native takes its default ok 21 - a multi dispatches a native int argument ok 22 - a multi dispatches a native str argument ok 23 - a native binds beside a slurpy ok 24 - a where passing native argument binds # Subtest: a where failing native argument rejects 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 25 - a where failing native argument rejects ok 26 - a sized int truncates at bind ok t/08-performance/30-rakuast-native-attr-lvalues.t ............... 1..63 ok 1 - # SKIP the step shapes are specific to the RakuAST frontend ok 2 - # SKIP the step shapes are specific to the RakuAST frontend ok 3 - # SKIP the step shapes are specific to the RakuAST frontend ok 4 - # SKIP the step shapes are specific to the RakuAST frontend ok 5 - # SKIP the step shapes are specific to the RakuAST frontend ok 6 - # SKIP the step shapes are specific to the RakuAST frontend ok 7 - # SKIP the step shapes are specific to the RakuAST frontend ok 8 - # SKIP the step shapes are specific to the RakuAST frontend ok 9 - # SKIP the step shapes are specific to the RakuAST frontend ok 10 - # SKIP the step shapes are specific to the RakuAST frontend ok 11 - # SKIP the step shapes are specific to the RakuAST frontend ok 12 - # SKIP the step shapes are specific to the RakuAST frontend ok 13 - # SKIP the step shapes are specific to the RakuAST frontend ok 14 - # SKIP the step shapes are specific to the RakuAST frontend ok 15 - # SKIP the step shapes are specific to the RakuAST frontend ok 16 - # SKIP the step shapes are specific to the RakuAST frontend ok 17 - # SKIP the step shapes are specific to the RakuAST frontend ok 18 - # SKIP the step shapes are specific to the RakuAST frontend ok 19 - # SKIP the step shapes are specific to the RakuAST frontend ok 20 - a used postfix increment yields the original value ok 21 - the used postfix increment stored the stepped value ok 22 - a prefix increment yields the stepped value ok 23 - a sunk postfix decrement stores the stepped value ok 24 - a prefix decrement yields the stepped value ok 25 - a compound add of a native lexical stores the sum ok 26 - a compound subtract of a native lexical stores the difference ok 27 - a compound multiply of a native lexical stores the product ok 28 - a compound add of an attribute steps by the attribute value ok 29 - an attribute serves as the step value for a lexical ok 30 - a compound add of a num literal stores the sum ok 31 - a compound multiply of a num lexical stores the product ok 32 - a sized int postfix increment computes through the routine ok 33 - a sized int prefix increment yields the stepped value ok 34 - a boxed attribute increment computes through the routine ok 35 - a compound add of an Int literal computes through the metaop ok 36 - a sized int prefix increment yields the unstored step result ok 37 - a sized int prefix increment wraps in storage ok 38 - a sized num compound add keeps the narrow precision ok 39 - attribute steps in a composed role method compute correctly ok 40 - a redefined operator in scope still runs ok 41 - steps on one object write that object ok 42 - steps on one object leave the other object alone ok 43 - a used num postfix increment yields the original value ok 44 - the used num postfix increment stored the stepped value ok 45 - a num prefix increment yields the stepped value ok 46 - a sunk num postfix decrement stores the stepped value ok 47 - a num prefix decrement yields the stepped value ok 48 - an attribute step in a closure writes through the captured self ok 49 - an attribute compound add in a for body accumulates across iterations ok 50 - a uint attribute increment computes through the routine ok 51 - a uint8 attribute increment wraps at the unsigned boundary ok 52 - a postfix increment through a plain public accessor leaves the attribute alone ok 53 - a postfix increment through an is rw accessor stores the stepped value ok 54 - the accessor reads a raw private step of an is rw attribute ok 55 - attribute steps in TWEAK see the default and store the result ok 56 - a used num postfix past the integer precision yields the reverse stepped value ok 57 - the num postfix past the integer precision stores the rounded step ok 58 - an int8 compound add yields the unstored step result ok 59 - the int8 compound add wraps in storage ok 60 - an int32 prefix increment yields the unstored step result ok 61 - the int32 prefix increment wraps in storage ok 62 - a num32 compound add yields the unrounded step result ok 63 - the num32 compound add stores the narrow precision ok t/08-performance/19-rakuast-lex2local.t ......................... 1..26 ok 1 - a non-escaping scalar is lowered to a local ok 2 - a non-escaping bound declaration is lowered to a local ok 3 - a non-escaping array is lowered to a local ok 4 - a non-escaping hash is lowered to a local ok 5 - a non-escaping parameter is lowered to a local ok 6 - a block-captured scalar keeps its lexical ok 7 - EVAL in scope keeps every lexical addressable by name ok 8 - the EVAL method in scope keeps every lexical addressable by name ok 9 - an is-dynamic declaration keeps its lexical ok 10 - a dynamic-twigil declaration keeps its lexical ok 11 - a callable declaration keeps its lexical for by-name callee lookup ok 12 - a native scalar keeps a declaration under its own name ok 13 - a pseudo-package access in scope keeps every lexical ok 14 - callsame in scope keeps the enclosing lexicals ok 15 - a regex in scope keeps the enclosing lexicals ok 16 - a will phaser keeps its variable addressable by name ok 17 - a signature binding keeps its targets addressable for the binder ok 18 - a feed keeps the lexicals its stages reference ok 19 - closures capture distinct per-iteration variables ok 20 - list assignment reaches the declared targets ok 21 - list binding reaches the declared targets # Subtest: CALLER:: access to a lowered lexical dies the same way 1..2 ok 1 - code dies ok 2 - right exception type (X::Caller::NotDynamic) ok 22 - CALLER:: access to a lowered lexical dies the same way ok 23 - an is-copy parameter assigns inside its frame ok 24 - a state variable keeps its per-code storage # Subtest: no declaration is lowered under --optimize=off 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 25 - no declaration is lowered under --optimize=off # Subtest: the QAST of an optimized compilation shows the lowered local 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 26 - the QAST of an optimized compilation shows the lowered local ok t/06-telemetry/02-usage.t ....................................... 1..194 ok 1 - return Nil when setting with Str ok 2 - Was one instrument set with Str ok 3 - do we get the right class when setting with Str ok 4 - return Nil when setting with Telemetry::Instrument::Usage ok 5 - Was one instrument set with Telemetry::Instrument::Usage ok 6 - do we get the right class when setting with Telemetry::Instrument::Usage ok 7 - are the columns in alphabetical order ok 8 - The object is-a 'Telemetry::Instrument::Usage::Snap' ok 9 - Did we get a Any after roundtripping ok 10 - did we get the same value for cpu ok 11 - did we get the same value for cpu-sys ok 12 - did we get the same value for cpu-user ok 13 - did we get the same value for cpus ok 14 - did we get the same value for id-rss ok 15 - did we get the same value for inb ok 16 - did we get the same value for invcsw ok 17 - did we get the same value for is-rss ok 18 - did we get the same value for ix-rss ok 19 - did we get the same value for majf ok 20 - did we get the same value for max-rss ok 21 - did we get the same value for minf ok 22 - did we get the same value for mrcv ok 23 - did we get the same value for msnd ok 24 - did we get the same value for nsig ok 25 - did we get the same value for nswp ok 26 - did we get the same value for outb ok 27 - did we get the same value for util% ok 28 - did we get the same value for volcsw ok 29 - did we get the same value for wallclock ok 30 - did we get a Snap object from first set of values ok 31 - did we get a Telemetry object from $S1 ok 32 - does cpu exist in Telemetry? ok 33 - did we get a non-zero value for cpu using AT-KEY ok 34 - did we get a non-zero value for cpu with a method ok 35 - did AT-KEY and method on T give the same value ok 36 - does cpu-sys exist in Telemetry? ok 37 - did we get a non-zero value for cpu-sys using AT-KEY ok 38 - did we get a non-zero value for cpu-sys with a method ok 39 - did AT-KEY and method on T give the same value ok 40 - does cpu-user exist in Telemetry? ok 41 - did we get a non-zero value for cpu-user using AT-KEY ok 42 - did we get a non-zero value for cpu-user with a method ok 43 - did AT-KEY and method on T give the same value ok 44 - does cpus exist in Telemetry? ok 45 - did we get a non-zero value for cpus using AT-KEY ok 46 - did we get a non-zero value for cpus with a method ok 47 - did AT-KEY and method on T give the same value ok 48 - does id-rss exist in Telemetry? ok 49 - did we get a non-zero value for id-rss using AT-KEY ok 50 - did we get a non-zero value for id-rss with a method ok 51 - did AT-KEY and method on T give the same value ok 52 - does inb exist in Telemetry? ok 53 - did we get a non-zero value for inb using AT-KEY ok 54 - did we get a non-zero value for inb with a method ok 55 - did AT-KEY and method on T give the same value ok 56 - does invcsw exist in Telemetry? ok 57 - did we get a non-zero value for invcsw using AT-KEY ok 58 - did we get a non-zero value for invcsw with a method ok 59 - did AT-KEY and method on T give the same value ok 60 - does is-rss exist in Telemetry? ok 61 - did we get a non-zero value for is-rss using AT-KEY ok 62 - did we get a non-zero value for is-rss with a method ok 63 - did AT-KEY and method on T give the same value ok 64 - does ix-rss exist in Telemetry? ok 65 - did we get a non-zero value for ix-rss using AT-KEY ok 66 - did we get a non-zero value for ix-rss with a method ok 67 - did AT-KEY and method on T give the same value ok 68 - does majf exist in Telemetry? ok 69 - did we get a non-zero value for majf using AT-KEY ok 70 - did we get a non-zero value for majf with a method ok 71 - did AT-KEY and method on T give the same value ok 72 - does max-rss exist in Telemetry? ok 73 - did we get a non-zero value for max-rss using AT-KEY ok 74 - did we get a non-zero value for max-rss with a method ok 75 - did AT-KEY and method on T give the same value ok 76 - does minf exist in Telemetry? ok 77 - did we get a non-zero value for minf using AT-KEY ok 78 - did we get a non-zero value for minf with a method ok 79 - did AT-KEY and method on T give the same value ok 80 - does mrcv exist in Telemetry? ok 81 - did we get a non-zero value for mrcv using AT-KEY ok 82 - did we get a non-zero value for mrcv with a method ok 83 - did AT-KEY and method on T give the same value ok 84 - does msnd exist in Telemetry? ok 85 - did we get a non-zero value for msnd using AT-KEY ok 86 - did we get a non-zero value for msnd with a method ok 87 - did AT-KEY and method on T give the same value ok 88 - does nsig exist in Telemetry? ok 89 - did we get a non-zero value for nsig using AT-KEY ok 90 - did we get a non-zero value for nsig with a method ok 91 - did AT-KEY and method on T give the same value ok 92 - does nswp exist in Telemetry? ok 93 - did we get a non-zero value for nswp using AT-KEY ok 94 - did we get a non-zero value for nswp with a method ok 95 - did AT-KEY and method on T give the same value ok 96 - does outb exist in Telemetry? ok 97 - did we get a non-zero value for outb using AT-KEY ok 98 - did we get a non-zero value for outb with a method ok 99 - did AT-KEY and method on T give the same value ok 100 - does util% exist in Telemetry? ok 101 - did we get a non-zero value for util% using AT-KEY ok 102 - did we get a non-zero value for util% with a method ok 103 - did AT-KEY and method on T give the same value ok 104 - does volcsw exist in Telemetry? ok 105 - did we get a non-zero value for volcsw using AT-KEY ok 106 - did we get a non-zero value for volcsw with a method ok 107 - did AT-KEY and method on T give the same value ok 108 - does wallclock exist in Telemetry? ok 109 - did we get a non-zero value for wallclock using AT-KEY ok 110 - did we get a non-zero value for wallclock with a method ok 111 - did AT-KEY and method on T give the same value ok 112 - did we get a Snap object from second set of values ok 113 - did we get a Telemetry object from $S2 ok 114 - Did we get a T::Period ok 115 - does cpu exist in Telemetry::Period? ok 116 - did we get a positive value for cpu using AT-KEY ok 117 - did we get a positive value for cpu using AT-KEY ok 118 - did AT-KEY/method on T:P give same value for cpu ok 119 - does cpu-sys exist in Telemetry::Period? ok 120 - did we get a positive value for cpu-sys using AT-KEY ok 121 - did we get a positive value for cpu-sys using AT-KEY ok 122 - did AT-KEY/method on T:P give same value for cpu-sys ok 123 - does cpu-user exist in Telemetry::Period? ok 124 - did we get a positive value for cpu-user using AT-KEY ok 125 - did we get a positive value for cpu-user using AT-KEY ok 126 - did AT-KEY/method on T:P give same value for cpu-user ok 127 - does cpus exist in Telemetry::Period? ok 128 - did we get a positive value for cpus using AT-KEY ok 129 - did we get a positive value for cpus using AT-KEY ok 130 - did AT-KEY/method on T:P give same value for cpus ok 131 - does id-rss exist in Telemetry::Period? ok 132 - did we get a positive value for id-rss using AT-KEY ok 133 - did we get a positive value for id-rss using AT-KEY ok 134 - did AT-KEY/method on T:P give same value for id-rss ok 135 - does inb exist in Telemetry::Period? ok 136 - did we get a positive value for inb using AT-KEY ok 137 - did we get a positive value for inb using AT-KEY ok 138 - did AT-KEY/method on T:P give same value for inb ok 139 - does invcsw exist in Telemetry::Period? ok 140 - did we get a positive value for invcsw using AT-KEY ok 141 - did we get a positive value for invcsw using AT-KEY ok 142 - did AT-KEY/method on T:P give same value for invcsw ok 143 - does is-rss exist in Telemetry::Period? ok 144 - did we get a positive value for is-rss using AT-KEY ok 145 - did we get a positive value for is-rss using AT-KEY ok 146 - did AT-KEY/method on T:P give same value for is-rss ok 147 - does ix-rss exist in Telemetry::Period? ok 148 - did we get a positive value for ix-rss using AT-KEY ok 149 - did we get a positive value for ix-rss using AT-KEY ok 150 - did AT-KEY/method on T:P give same value for ix-rss ok 151 - does majf exist in Telemetry::Period? ok 152 - did we get a positive value for majf using AT-KEY ok 153 - did we get a positive value for majf using AT-KEY ok 154 - did AT-KEY/method on T:P give same value for majf ok 155 - does max-rss exist in Telemetry::Period? ok 156 - did we get a positive value for max-rss using AT-KEY ok 157 - did we get a positive value for max-rss using AT-KEY ok 158 - did AT-KEY/method on T:P give same value for max-rss ok 159 - does minf exist in Telemetry::Period? ok 160 - did we get a positive value for minf using AT-KEY ok 161 - did we get a positive value for minf using AT-KEY ok 162 - did AT-KEY/method on T:P give same value for minf ok 163 - does mrcv exist in Telemetry::Period? ok 164 - did we get a positive value for mrcv using AT-KEY ok 165 - did we get a positive value for mrcv using AT-KEY ok 166 - did AT-KEY/method on T:P give same value for mrcv ok 167 - does msnd exist in Telemetry::Period? ok 168 - did we get a positive value for msnd using AT-KEY ok 169 - did we get a positive value for msnd using AT-KEY ok 170 - did AT-KEY/method on T:P give same value for msnd ok 171 - does nsig exist in Telemetry::Period? ok 172 - did we get a positive value for nsig using AT-KEY ok 173 - did we get a positive value for nsig using AT-KEY ok 174 - did AT-KEY/method on T:P give same value for nsig ok 175 - does nswp exist in Telemetry::Period? ok 176 - did we get a positive value for nswp using AT-KEY ok 177 - did we get a positive value for nswp using AT-KEY ok 178 - did AT-KEY/method on T:P give same value for nswp ok 179 - does outb exist in Telemetry::Period? ok 180 - did we get a positive value for outb using AT-KEY ok 181 - did we get a positive value for outb using AT-KEY ok 182 - did AT-KEY/method on T:P give same value for outb ok 183 - does util% exist in Telemetry::Period? ok 184 - did we get a positive value for util% using AT-KEY ok 185 - did we get a positive value for util% using AT-KEY ok 186 - did AT-KEY/method on T:P give same value for util% ok 187 - does volcsw exist in Telemetry::Period? ok 188 - did we get a positive value for volcsw using AT-KEY ok 189 - did we get a positive value for volcsw using AT-KEY ok 190 - did AT-KEY/method on T:P give same value for volcsw ok 191 - does wallclock exist in Telemetry::Period? ok 192 - did we get a positive value for wallclock using AT-KEY ok 193 - did we get a positive value for wallclock using AT-KEY ok 194 - did AT-KEY/method on T:P give same value for wallclock ok t/10-qast/00-misc.t ............................................. 1..1 ok 1 - whatever curries with 3+ args do not duplicate p6bindsig op ok t/08-performance/33-rakuast-lower-term-params.t ................. 1..23 ok 1 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 2 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 3 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 4 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 5 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 6 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 7 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 8 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 9 - lowered term parameters pass their values ok 10 - a term parameter a closure captures reads through the lexical ok 11 - a capture parameter collects its arguments ok 12 - a slurpy term parameter collects its arguments ok 13 - a raw term parameter passes its value ok 14 - a term parameter in a sub passes its value ok 15 - a typed term parameter passes its value ok 16 - a native term parameter passes its value ok 17 - a signature declaration binds its term targets ok 18 - an indirect lookup reads a term parameter, not a sentinel ok 19 - a MY:: lookup reads a term parameter, not a sentinel ok 20 - a role method reads self through its generic invocant ok 21 - a parametric role method still resolves its type parameter ok 22 - an explicit coercive invocant still coerces ok 23 - an explicit term invocant passes its value ok t/12-rakuast/block-var.rakutest ................................. 1..8 ok 1 - &?BLOCK in an if branch is the enclosing routine ok 2 - &?BLOCK in an if branch with a branch-frame-forcing smartmatch is the routine ok 3 - &?BLOCK in a while body is the enclosing routine ok 4 - &?BLOCK recurses the pointy block it is written in ok 5 - &?BLOCK recurses the enclosing block from inside an if branch ok 6 - &?BLOCK in a bare block inside an if branch is the bare block itself ok 7 - a &?BLOCK self-continuation inside an if branch accumulates per group ok 8 - the self-continuation emits one result per group, not one per value ok t/09-moar/02-generic-class.rakutest ............................. 1..8 # Subtest: Before Instantiations ok 1 - role attribute type name before instantiations ok 2 - role attribute type archetypes are that of a generic class ok 3 - role attribute type is-generic method ok 4 - role attribute type instance archetypes is generic 1..4 ok 1 - Before Instantiations ok 2 - attribute type is the first instantiation ok 3 - method body resolves generic class into the first instatiation ok 4 - class instantiated over role's Str:D argument ok 5 - attribute type is the second instantiation ok 6 - method body resolves generic class into the second instatiation ok 7 - class instantiated over role's Int:D arguments # Subtest: After Instantiations ok 1 - role attribute type name before instantiations ok 2 - role attribute type archetypes are that of a generic class ok 3 - role attribute type is-generic method ok 4 - role attribute type instance archetypes is generic 1..4 ok 8 - After Instantiations ok t/02-rakudo/nested-package-collision-gate.t ..................... 1..12 # Subtest: 6.d traditional: silent-replace + deprecation worry 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - 6.d traditional: silent-replace + deprecation worry # Subtest: 6.e traditional: nested Foo::Bar::Foo::Bar, no warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - 6.e traditional: nested Foo::Bar::Foo::Bar, no warning # Subtest: 6.d traditional: stub-package upgrade does not warn 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - 6.d traditional: stub-package upgrade does not warn # Subtest: 6.d traditional: single-identifier natural nesting, no warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - 6.d traditional: single-identifier natural nesting, no warning # Subtest: 6.d traditional: non-enclosing collision is a Redeclaration 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - 6.d traditional: non-enclosing collision is a Redeclaration # Subtest: 6.d traditional: unit package + same-named role also warns 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - 6.d traditional: unit package + same-named role also warns # Subtest: 6.d RakuAST: silent-replace + deprecation worry 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - 6.d RakuAST: silent-replace + deprecation worry # Subtest: 6.e RakuAST: nested Foo::Bar::Foo::Bar, no warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 8 - 6.e RakuAST: nested Foo::Bar::Foo::Bar, no warning # Subtest: 6.d RakuAST: stub-package upgrade does not warn 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 9 - 6.d RakuAST: stub-package upgrade does not warn # Subtest: 6.d RakuAST: single-identifier natural nesting, no warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 10 - 6.d RakuAST: single-identifier natural nesting, no warning # Subtest: 6.d RakuAST: non-enclosing collision is a Redeclaration 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 11 - 6.d RakuAST: non-enclosing collision is a Redeclaration # Subtest: 6.d RakuAST: unit package + same-named role also warns 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 12 - 6.d RakuAST: unit package + same-named role also warns ok t/02-rakudo/our-package-redeclaration.t ......................... 1..13 # Subtest: cross-EVAL identifier class is a Redeclaration 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - cross-EVAL identifier class is a Redeclaration # Subtest: cross-EVAL multi-part class is a Redeclaration 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - cross-EVAL multi-part class is a Redeclaration # Subtest: in-source multi-part dupe is a Redeclaration 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - in-source multi-part dupe is a Redeclaration # Subtest: stub-then-real composes and runs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - stub-then-real composes and runs # Subtest: sibling my-scoped parents do not collide 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - sibling my-scoped parents do not collide # Subtest: augment-body nested class redecl is a Redeclaration 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - augment-body nested class redecl is a Redeclaration # Subtest: in-source `package A::B` then `role A::B` silent-replaces 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - in-source `package A::B` then `role A::B` silent-replaces # Subtest: silent-replaced role keeps the package WHO (our sub stays reachable) 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 8 - silent-replaced role keeps the package WHO (our sub stays reachable) # Subtest: cross-compunit $*REPO.load reload silent-replaces 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 9 - cross-compunit $*REPO.load reload silent-replaces # Subtest: compound named enum vivifies a prefix stub that a later class fills 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 10 - compound named enum vivifies a prefix stub that a later class fills # Subtest: compound named subset vivifies a prefix stub that a later role fills 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 11 - compound named subset vivifies a prefix stub that a later role fills # Subtest: a class whose body trait dies re-throws on a same-name retry, not X::Redeclaration 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 12 - a class whose body trait dies re-throws on a same-name retry, not X::Redeclaration # Subtest: a class nested in a same-named unit class silent-replaces 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 13 - a class nested in a same-named unit class silent-replaces ok t/08-performance/34-rakuast-lower-self.t ........................ 1..33 ok 1 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 2 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 3 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 4 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 5 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 6 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 7 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 8 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 9 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 10 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 11 - # SKIP the lowering shapes are specific to the RakuAST frontend ok 12 - an attribute access in a method yields its value ok 13 - an attributive parameter binds into the invocant ok 14 - a private method with an attributive parameter constructs ok 15 - a closure in a method reads the invocant ok 16 - a method returns its invocant deconted ok 17 - deferral in a method still runs ok 18 - an EVAL in a method reads the invocant, not a sentinel ok 19 - a MY:: lookup reads the invocant, not a sentinel ok 20 - an indirect lookup reads the invocant, not a sentinel ok 21 - an aliased attribute reads and writes through self ok 22 - attributes from a has list read through self ok 23 - a parameter default reads the live invocant ok 24 - a where clause reads the live invocant ok 25 - a where clause rejects against the live invocant ok 26 - a role method reads self through its generic invocant ok 27 - a role method reads an attribute through its generic invocant ok 28 - a method compiled for BEGIN time constructs through self ok 29 - a multi candidate reads an attribute through self ok 30 - another multi candidate reads self through a method call ok 31 - nextsame reaches a candidate that reads an attribute ok 32 - a term parameter named like self still returns deconted ok 33 - a sub term parameter named like self still returns deconted ok t/08-performance/30-rakuast-native-index.t ...................... 1..72 ok 1 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 2 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 3 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 4 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 5 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 6 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 7 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 8 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 9 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 10 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 11 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 12 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 13 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 14 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 15 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 16 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 17 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 18 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 19 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 20 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 21 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 22 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 23 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 24 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 25 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 26 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 27 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 28 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 29 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 30 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 31 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 32 - # SKIP the subscript shapes are specific to the RakuAST frontend ok 33 - a raw read by a native lexical gives the element ok 34 - a raw read by a literal gives the element ok 35 - a raw read past the end gives the type default ok 36 - a raw bind stores the element ok 37 - a raw bind past the end extends the array ok 38 - the extension sets the element count ok 39 - a negative index read dies through the general call ok 40 - a negative index write dies through the general call ok 41 - assigning a copy read from the element leaves the element alone ok 42 - a writable context writes through the element reference ok 43 - an assignment whose result is used yields the value ok 44 - an assignment whose result is used still stores ok 45 - a raw num read gives the element ok 46 - a raw num bind stores the element ok 47 - a raw str bind stores the element ok 48 - a shaped array subscript computes through the general call ok 49 - a folded negative literal read dies through the general call ok 50 - a folded negative literal write dies through the general call ok 51 - the failing write left the last element alone ok 52 - a literal too big for a native int dies through the general call ok 53 - a subscript after a bind statement dispatches to the bound container ok 54 - a lexical subscript routine intercepts the subscript ok 55 - assigning an int lexical to a num element dies through the general call ok 56 - assigning a fractional literal to an int element dies through the general call ok 57 - a sized int element truncates through the raw op as the general call does ok 58 - a loop with a native int parameter fills the array ok 59 - a subscript by a parameter gives the element ok 60 - an assignment of a parameter value stores the element ok 61 - a negative parameter index dies through the general call ok 62 - a subscript by a raw parameter gives the element ok 63 - a subscript by a modified copy parameter reads the new position ok 64 - a subscript by an rw parameter computes through the general call ok 65 - the rw parameter still writes back to the caller ok 66 - an assignment of a num parameter value stores the element ok 67 - an assignment of a str parameter value stores the element ok 68 - a subscript by the parameter default reads that position ok 69 - a subscript by a passed optional parameter reads that position ok 70 - a compound assignment writes through the element reference ok 71 - an increment writes through the element reference ok 72 - a read past the end does not extend the array ok t/02-rakudo/03-cmp-ok.t ......................................... 1..7 # Subtest: string comparators 1..13 ok 1 - ok 2 - ok 3 - "foo" eq "foo" ok 4 - "a" lt "b" ok 5 - "b" gt "a" ok 6 - 1 < 2 ok 7 - 2 >= 1 not ok 8 - 2 < 1 # TODO should fail due to requested comparison # Failed test '2 < 1' # at t/02-rakudo/03-cmp-ok.t line 14 # expected: 1 # matcher: 'infix:«<»' # got: 2 ok 9 - should fail due to requested comparison not ok 10 - "foo" eq "bar" # TODO should fail due to requested comparison # Failed test '"foo" eq "bar"' # at t/02-rakudo/03-cmp-ok.t line 14 # expected: "bar" # matcher: 'infix:' # got: "foo" ok 11 - should fail due to requested comparison not ok 12 - # TODO should fail due to requested comparison # Failed test at t/02-rakudo/03-cmp-ok.t line 14 # Could not use '"non-exisistant-op"' as a comparator. If you are trying to use a meta operator, pass it as a Callable instead of a string: &[non-exisistant-op] ok 13 - should fail due to requested comparison ok 1 - string comparators # Subtest: &[] comparators 1..11 ok 1 - ok 2 - ok 3 - "foo" eq "foo" ok 4 - "a" lt "b" ok 5 - "b" gt "a" ok 6 - 1 < 2 ok 7 - 2 >= 1 not ok 8 - 2 < 1 # TODO should fail due to requested comparison # Failed test '2 < 1' # at t/02-rakudo/03-cmp-ok.t line 30 # expected: 1 # matcher: 'infix:«<»' # got: 2 ok 9 - should fail due to requested comparison not ok 10 - "foo" eq "bar" # TODO should fail due to requested comparison # Failed test '"foo" eq "bar"' # at t/02-rakudo/03-cmp-ok.t line 30 # expected: "bar" # matcher: 'infix:' # got: "foo" ok 11 - should fail due to requested comparison ok 2 - &[] comparators # Subtest: custom operators (in code) 1..6 ok 1 - comparing using a fancy operator (Callable version) ok 2 - comparing using a fancy operator (Str version) not ok 3 - failing comparison custom op (Callable) # TODO should fail due to requested comparison # Failed test 'failing comparison custom op (Callable)' # at t/02-rakudo/03-cmp-ok.t line 45 # expected: 1 # matcher: 'infix:<◀>' # got: 2 ok 4 - should fail due to requested comparison not ok 5 - failing comparison custom op (Str) # TODO should fail due to requested comparison # Failed test 'failing comparison custom op (Str)' # at t/02-rakudo/03-cmp-ok.t line 45 # expected: 1 # matcher: 'infix:<◀>' # got: 2 ok 6 - should fail due to requested comparison ok 3 - custom operators (in code) # Subtest: custom operators (in nested scope) 1..6 ok 1 - passing, Callable ok 2 - passing, Str not ok 3 - failing, Callable # TODO should fail due to requested comparison # Failed test 'failing, Callable' # at t/02-rakudo/03-cmp-ok.t line 53 # expected: 1 # matcher: 'infix:<◀>' # got: 2 ok 4 - should fail due to requested comparison not ok 5 - failing, Str # TODO should fail due to requested comparison # Failed test 'failing, Str' # at t/02-rakudo/03-cmp-ok.t line 53 # expected: 1 # matcher: 'infix:<◀>' # got: 2 ok 6 - should fail due to requested comparison ok 4 - custom operators (in nested scope) # Subtest: custom operators (imported) 1..24 ok 1 - passing <=! op, Callable ok 2 - passing <=! op, Str ok 3 - passing <=» op, Str ok 4 - passing « op, Callable ok 5 - passing « op, Str ok 6 - passing <« op, Str ok 7 - passing >» op, Str ok 8 - passing <«>» op, Str not ok 9 - failing <=! op, Callable # TODO should fail due to requested comparison # Failed test 'failing <=! op, Callable' # at t/02-rakudo/03-cmp-ok.t line 65 # expected: 1 # matcher: 'infix:«<=!»' # got: 2 ok 10 - should fail due to requested comparison not ok 11 - failing <=! op, Str # TODO should fail due to requested comparison # Failed test 'failing <=! op, Str' # at t/02-rakudo/03-cmp-ok.t line 65 # expected: 1 # matcher: 'infix:«<=!»' # got: 2 ok 12 - should fail due to requested comparison not ok 13 - failing <=» op, Str # TODO should fail due to requested comparison # Failed test 'failing <=» op, Str' # at t/02-rakudo/03-cmp-ok.t line 65 # expected: 1 # matcher: 'infix:<\<=»>' # got: 2 ok 14 - should fail due to requested comparison not ok 15 - failing « op, Callable # TODO should fail due to requested comparison # Failed test 'failing « op, Callable' # at t/02-rakudo/03-cmp-ok.t line 65 # expected: 1 # matcher: 'infix:<«>' # got: 2 ok 16 - should fail due to requested comparison not ok 17 - failing « op, Str # TODO should fail due to requested comparison # Failed test 'failing « op, Str' # at t/02-rakudo/03-cmp-ok.t line 65 # expected: 1 # matcher: 'infix:<«>' # got: 2 ok 18 - should fail due to requested comparison not ok 19 - failing <« op, Str # TODO should fail due to requested comparison # Failed test 'failing <« op, Str' # at t/02-rakudo/03-cmp-ok.t line 65 # expected: 1 # matcher: 'infix:<\<«>' # got: 2 ok 20 - should fail due to requested comparison not ok 21 - failing >» op, Str # TODO should fail due to requested comparison # Failed test 'failing >» op, Str' # at t/02-rakudo/03-cmp-ok.t line 65 # expected: 1 # matcher: 'infix:<\>»>' # got: 2 ok 22 - should fail due to requested comparison not ok 23 - failing <«>» op, Str # TODO should fail due to requested comparison # Failed test 'failing <«>» op, Str' # at t/02-rakudo/03-cmp-ok.t line 65 # expected: 1 # matcher: 'infix:<\<«\>»>' # got: 2 ok 24 - should fail due to requested comparison ok 5 - custom operators (imported) # Subtest: no EVAL exploit (RT#128283) 1..2 not ok 1 - # TODO should fail due to requested comparison # Failed test at t/02-rakudo/03-cmp-ok.t line 97 # Could not use '"~~>;exit; ;exit; { # 101 # } ok 1 - deparse ok 2 - AST: A pointy block node evaluates to a Block ok 3 - AST: The block has no parameters ok 4 - AST: The block has 0 arity ok 5 - AST: The block has 0 count ok 6 - AST: Invoking the block returns the expected value ok 7 - AST: Invoking the block with an argument dies ok 8 - Str: A pointy block node evaluates to a Block ok 9 - Str: The block has no parameters ok 10 - Str: The block has 0 arity ok 11 - Str: The block has 0 count ok 12 - Str: Invoking the block returns the expected value ok 13 - Str: Invoking the block with an argument dies ok 14 - Raku: A pointy block node evaluates to a Block ok 15 - Raku: The block has no parameters ok 16 - Raku: The block has 0 arity ok 17 - Raku: The block has 0 count ok 18 - Raku: Invoking the block returns the expected value ok 19 - Raku: Invoking the block with an argument dies 1..19 ok 1 - A pointy block node evaluates to a Block # Subtest: A pointy block node taking a parameter evaluates to a Block # -> $param { # $param # } ok 1 - deparse ok 2 - AST: A pointy block node taking a parameter evaluates to a Block ok 3 - AST: The block has one parameters ok 4 - AST: The block has 1 arity ok 5 - AST: The block has 1 count ok 6 - AST: Invoking the block with an argument returns the expected value ok 7 - AST: Argument is bound read-only ok 8 - AST: Invoking the block without an argument dies ok 9 - Str: A pointy block node taking a parameter evaluates to a Block ok 10 - Str: The block has one parameters ok 11 - Str: The block has 1 arity ok 12 - Str: The block has 1 count ok 13 - Str: Invoking the block with an argument returns the expected value ok 14 - Str: Argument is bound read-only ok 15 - Str: Invoking the block without an argument dies ok 16 - Raku: A pointy block node taking a parameter evaluates to a Block ok 17 - Raku: The block has one parameters ok 18 - Raku: The block has 1 arity ok 19 - Raku: The block has 1 count ok 20 - Raku: Invoking the block with an argument returns the expected value ok 21 - Raku: Argument is bound read-only ok 22 - Raku: Invoking the block without an argument dies 1..22 ok 2 - A pointy block node taking a parameter evaluates to a Block # Subtest: Bare block at statement level is executed # { # $x++ # } ok 1 - deparse ok 2 - AST: Bare block at statement level is executed ok 3 - AST: Side-effects were performed as expected ok 4 - Str: Bare block at statement level is executed ok 5 - Str: Side-effects were performed as expected ok 6 - Raku: Bare block at statement level is executed ok 7 - Raku: Side-effects were performed as expected 1..7 ok 3 - Bare block at statement level is executed # Subtest: Bare block in parentheses evaluates to Block # ({ # $x++ # }) ok 1 - deparse ok 2 - AST: Bare block in parentheses evaluates to Block ok 3 - AST: Block has arity 0 ok 4 - AST: Block has count 1 ok 5 - AST: No side-effects were performed ok 6 - AST: Can evaluate the returned block ok 7 - AST: Block did perform side-effects when evaluated ok 8 - Str: Bare block in parentheses evaluates to Block ok 9 - Str: Block has arity 0 ok 10 - Str: Block has count 1 ok 11 - Str: No side-effects were performed ok 12 - Str: Can evaluate the returned block ok 13 - Str: Block did perform side-effects when evaluated 1..13 ok 4 - Bare block in parentheses evaluates to Block # Subtest: Block has default parameter # ({ # $_ # }) ok 1 - deparse ok 2 - AST: Block has default AST parameter ok 3 - AST: That AST parameter is optional ok 4 - Str: Block has default Str parameter ok 5 - Str: That Str parameter is optional 1..5 ok 5 - Block has default parameter ok t/04-nativecall/16-rt125729.t ................................... 1..1 ok 1 - symbol reexported by NativeCall used to cause trouble ok t/04-nativecall/17-libnames.t ................................... 1..7 ok 1 - foo is libfoo.so and should warn ok 2 - foo , 1 is libfoo.so.1 ok 3 - foo , v1.2.3 is libfoo.so.1.2.3 ok 4 - libfoo.so is libfoo.so ok 5 - ./foo is ./libfoo.so ok 6 - ./libfoo.so is ./libfoo.so ok 7 - /libfoo.so is /libfoo.so ok t/12-rakuast/doc-markup.rakutest ................................ 1..4 # Subtest: simple bold markup # B ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 1 - simple bold markup # Subtest: simple bold with italics markup # B bold> ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 2 - simple bold with italics markup # Subtest: link with code markup # L Programming Language|https://raku.org> ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 3 - link with code markup # Subtest: index entry with multiple lemmas # D ok 1 - Str: deparse ok 2 - Raku: deparse # M ok 3 - Str: deparse ok 4 - Raku: deparse # X ok 5 - Str: deparse ok 6 - Raku: deparse 1..6 ok 4 - index entry with multiple lemmas ok t/12-rakuast/name.rakutest ...................................... 1..4 # Subtest: name from identifier ok 1 - .from-identifier constructs a name ok 2 - The element is considered an identifier ok 3 - Has one part ok 4 - Name has a single part ok 5 - Part has expected name ok 6 - Deparses in an expected way ok 7 - rakufies in an expected way 1..7 ok 1 - name from identifier # Subtest: name from identifier parts ok 1 - .from-identifier-parts constructs a name ok 2 - the element is NOT considered an identifier ok 3 - Has two parts ok 4 - first part is simple ok 5 - second part is simple ok 6 - part 1 has expected name ok 7 - part 2 has expected name ok 8 - deparses in an expected way ok 9 - rakufies in an expected way 1..9 ok 2 - name from identifier parts # Subtest: name from different parts ok 1 - .new constructs a name ok 2 - the element is NOT considered an identifier ok 3 - Has two parts ok 4 - first part is simple ok 5 - second part is empty ok 6 - part 1 has expected name ok 7 - deparses in an expected way ok 8 - rakufies in an expected way 1..8 ok 3 - name from different parts # Subtest: name from expressions ok 1 - .new constructs a name ok 2 - the element is NOT considered an identifier ok 3 - Has one parts ok 4 - second part is ok ok 5 - deparses in an expected way ok 6 - rakufies in an expected way 1..6 ok 4 - name from expressions ok t/02-rakudo/attr-explicit-container-base.t ...................... 1..8 ok 1 - a typed array attribute without an explicit base is typed Positional ok 2 - is Array on a typed array attribute parameterizes the base type ok 3 - is List on an untyped array attribute becomes the attribute type ok 4 - is Hash on a typed hash attribute parameterizes the base type ok 5 - an already parameterized base type is used as-is ok 6 - is CArray on a shaped CStruct attribute types it as a CArray ok 7 - the CStruct composes because the attribute type has the CArray REPR ok 8 - an inlined HAS attribute with is CArray keeps its CArray type ok t/04-nativecall/23-incomplete-types.t ........................... 1..6 # Subtest: did we throws-like Exception? 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /inline.*before.*definition/ ok 1 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /inline.*before.*definition/ ok 2 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /inline.*before.*definition/ ok 3 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /inline.*before.*definition/ ok 4 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /inline.*before.*definition/ ok 5 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /inline.*before.*definition/ ok 6 - did we throws-like Exception? ok t/04-nativecall/16-rt125408.t ................................... 1..1 ok 1 - stayed fixed ok t/12-rakuast/contextualizer.rakutest ............................ 1..7 # Subtest: Item contextualizer from empty sequence # $() ok 1 - deparse ok 2 - AST: Contextualizer gives expected result ok 3 - Str: Contextualizer gives expected result ok 4 - Raku: Contextualizer gives expected result 1..4 ok 1 - Item contextualizer from empty sequence # Subtest: Hash contextualizer from empty sequence # %() ok 1 - deparse ok 2 - AST: Contextualizer gives expected result ok 3 - Str: Contextualizer gives expected result ok 4 - Raku: Contextualizer gives expected result 1..4 ok 2 - Hash contextualizer from empty sequence # Subtest: List contextualizer from empty sequence # @() ok 1 - deparse ok 2 - AST: Contextualizer gives expected result ok 3 - Str: Contextualizer gives expected result ok 4 - Raku: Contextualizer gives expected result 1..4 ok 3 - List contextualizer from empty sequence # Subtest: Item contextualizer with single value # $(42) ok 1 - deparse ok 2 - AST: Contextualizer gives expected result ok 3 - Str: Contextualizer gives expected result ok 4 - Raku: Contextualizer gives expected result 1..4 ok 4 - Item contextualizer with single value # Subtest: Item contextualizer with multiple values # $(42, 666) ok 1 - deparse ok 2 - AST: Contextualizer gives expected result ok 3 - Str: Contextualizer gives expected result ok 4 - Raku: Contextualizer gives expected result 1..4 ok 5 - Item contextualizer with multiple values # Subtest: Hash contextualizer from pairs # %(a => 1, b => 2) ok 1 - deparse ok 2 - AST: Contextualizer gives expected result ok 3 - Str: Contextualizer gives expected result ok 4 - Raku: Contextualizer gives expected result 1..4 ok 6 - Hash contextualizer from pairs # Subtest: List contextualizer from pairs # @(a => 1, b => 2) ok 1 - deparse ok 2 - AST: Contextualizer gives expected result ok 3 - Str: Contextualizer gives expected result ok 4 - Raku: Contextualizer gives expected result 1..4 ok 7 - List contextualizer from pairs ok t/12-rakuast/circumfix.rakutest ................................. 1..7 # Subtest: Parenthesized expressions compile correctly # 2 * (3 + 4) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - Parenthesized expressions compile correctly # Subtest: Multi-statement semilist compiles into a List # (3, 4) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Multi-statement semilist compiles into a List # Subtest: Array composer produces an array # [9, 10, 11] ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Array composer produces an array # Subtest: Array composer works correctly with a single argument # [5 .. 9] ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Array composer works correctly with a single argument # Subtest: Empty hash composer works correctly # {} ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Empty hash composer works correctly # Subtest: Hash composer with fatarrow works correctly # {a => 42} ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Hash composer with fatarrow works correctly # Subtest: Hash composer with list of fat arrows works correctly # {x => 11, y => 22} ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - Hash composer with list of fat arrows works correctly ok t/12-rakuast/literals.rakutest .................................. 1..9 # Subtest: RakuAST::IntLiteral with constant 1..4 # 42 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 1 - RakuAST::IntLiteral with constant # Subtest: RakuAST::IntLiteral with calculated value 1..4 # 106 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 2 - RakuAST::IntLiteral with calculated value # Subtest: RakuAST::NumLiteral with constant 1..4 # 400e0 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 3 - RakuAST::NumLiteral with constant # Subtest: RakuAST::NumLiteral with calculated value 1..4 # 20050e0 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 4 - RakuAST::NumLiteral with calculated value # Subtest: RakuAST::RatLiteral with constant 1..4 # 1.5 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 5 - RakuAST::RatLiteral with constant # Subtest: RakuAST::RatLiteral with calculated value 1..4 # 4.5 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 6 - RakuAST::RatLiteral with calculated value # Subtest: RakuAST::ComplexLiteral with constant 1..4 # <42+6.66i> ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 7 - RakuAST::ComplexLiteral with constant # Subtest: RakuAST::VersionLiteral with constant 1..4 # v4.2 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 8 - RakuAST::VersionLiteral with constant # Subtest: RakuAST::VersionLiteral with constructed version 1..4 # v6.66 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 9 - RakuAST::VersionLiteral with constructed version ok t/12-rakuast/nqp.rakutest ....................................... 1..4 # Subtest: Check number of chars # nqp::chars($x) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - Check number of chars # Subtest: Check constant # nqp::const::STAT_FILESIZE ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Check constant # Subtest: Set up a lookup hash # nqp::hash("a", 42, "b", 666) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Set up a lookup hash # Subtest: Set up a list # nqp::list("a", "b", "c") ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Set up a list ok t/12-rakuast/call-name.rakutest ................................. 1..8 # Subtest: Can make a named call with no arguments # no-args() ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - Can make a named call with no arguments # Subtest: Can make a named call with one positional argument # one-arg(5) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Can make a named call with one positional argument # Subtest: Can make a named call with two positional arguments # two-args(5, 3) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Can make a named call with two positional arguments # Subtest: Can make a named call with two named arguments # two-named(n1 => 200, n2 => 4) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Can make a named call with two named arguments # Subtest: Duplicated named arguments are correctly handled # two-named(n1 => 200, n2 => 4, n1 => 400) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Duplicated named arguments are correctly handled # Subtest: Can make a call on a term with two positional arguments # $target(9, 4) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Can make a call on a term with two positional arguments # Subtest: Can make a call that flattens into array # no-args(|@args) ok 1 - deparsed ok 2 - AST: flattening empty list ok 3 - Str: flattening empty list ok 4 - Raku: flattening empty list # two-args(|@args) ok 5 - deparsed ok 6 - AST: two positional arguments ok 7 - Str: two positional arguments ok 8 - Raku: two positional arguments 1..8 ok 7 - Can make a call that flattens into array # Subtest: Can make a call that flattens into hash # no-args(|%args) ok 1 - deparsed ok 2 - AST: flattening empty list ok 3 - Str: flattening empty list ok 4 - Raku: flattening empty list # two-named(|%args) ok 5 - deparsed ok 6 - AST: flattening two named arguments ok 7 - Str: flattening two named arguments ok 8 - Raku: flattening two named arguments 1..8 ok 8 - Can make a call that flattens into hash ok t/08-performance/21-rakuast-unused-implicits.t .................. 1..53 ok 1 - a sub that never touches the topic declares no fresh $_ ok 2 - # SKIP shapes specific to the RakuAST frontend ok 3 - # SKIP shapes specific to the RakuAST frontend ok 4 - # SKIP shapes specific to the RakuAST frontend ok 5 - assigning and reading the topic in a sub behaves unchanged ok 6 - a sub sees its own fresh topic, not the enclosing one ok 7 - given topicalizes ok 8 - the enclosing topic survives a given ok 9 - a for loop binds its topic per iteration ok 10 - smartmatch in a sub with a kept topic works ok 11 - a closure taking the topic as its argument still receives it ok 12 - # SKIP the %_ shapes are specific to the RakuAST frontend ok 13 - # SKIP the %_ shapes are specific to the RakuAST frontend ok 14 - a method with an unused %_ still accepts and discards stray nameds ok 15 - flattening %_ into another call still works ok 16 - a method that never touches &?ROUTINE does not bind it ok 17 - a method using &?ROUTINE keeps its binding ok 18 - &?ROUTINE in a method names the method ok 19 - &?ROUTINE in a sub names the sub ok 20 - &?ROUTINE reached from a nested block names the enclosing method ok 21 - samewith in a method redispatches through its kept binding ok 22 - # SKIP legacy never installs &?ROUTINE for an EVAL-only use ok 23 - # SKIP the accessor shape is specific to the RakuAST frontend ok 24 - an accessor still absorbs stray named arguments ok 25 - a native rw accessor still writes and reads through its reference ok 26 - a scalar rw accessor still writes and reads its container ok 27 - an accessor composed from a role still reads its attribute ok 28 - # SKIP the accessor block shape is specific to the RakuAST frontend ok 29 - # SKIP the legacy invocant name leaks from the first composed package ok 30 - # SKIP the legacy invocant name leaks from the first composed package ok 31 - accessors of one package share one signature ok 32 - an accessor invoked on the type object still dies ok 33 - an accessor found through the MOP still invokes ok 34 - an accessor rejects an extra positional argument ok 35 - callsame from an overriding method reaches the accessor ok 36 - a wrapped accessor runs its wrapper around the raw block ok 37 - an unwrapped accessor reads directly again ok 38 - an accessor still reads through a mixin instance ok 39 - the shared accessor signature compiles ok 40 - the shared accessor signature loads from the precompilation store ok 41 - a method of raw ops declares no fresh match or error variable ok 42 - a call inside a nested block keeps the method fresh containers ok 43 - string interpolation counts as a call, keeping both containers ok 44 - a method that tries keeps both fresh containers ok 45 - a method that makes a call keeps both fresh containers ok 46 - # SKIP the call counting shapes are specific to the RakuAST frontend ok 47 - # SKIP the call counting shapes are specific to the RakuAST frontend ok 48 - a nested callee writing its caller match variable cannot reach the mainline one ok 49 - a nested callee reading its caller match variable sees a fresh one ok 50 - a method calling match reads the result through its own match variable ok 51 - a method that matches keeps its own match variable ok 52 - a method that tries keeps its own error variable ok 53 - a match in a method still binds its result ok t/12-rakuast/doc-block.rakutest ................................. 1..11 # Subtest: simple documentation # =begin doc # # This is documentation # # =end doc # ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 1 - simple documentation # Subtest: simple documentation abbreviated # =doc This is documentation ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 2 - simple documentation abbreviated # Subtest: simple documentation with markup # =begin doc # # This is Bumentation # # =end doc # ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 3 - simple documentation with markup # Subtest: simple documentation in a statementlist (1) # 42 # =begin doc # # This is documentation # # =end doc # ok 1 - do we get the final result ok 2 - Str: deparse ok 3 - Raku: deparse 1..3 ok 4 - simple documentation in a statementlist (1) # Subtest: simple documentation in a statementlist (2) # =begin doc # # This is documentation # # =end doc # # 42 ok 1 - do we get the final result ok 2 - Str: deparse ok 3 - Raku: deparse 1..3 ok 5 - simple documentation in a statementlist (2) # Subtest: abbreviated documentation in a statementlist (1) # 42 # =head1 This is documentation ok 1 - do we get the final result ok 2 - Str: deparse ok 3 - Raku: deparse 1..3 ok 6 - abbreviated documentation in a statementlist (1) # Subtest: abbreviated documentation in a statementlist (2) # =head1 # This is documentation # # 42 ok 1 - do we get the final result ok 2 - Str: deparse ok 3 - Raku: deparse 1..3 ok 7 - abbreviated documentation in a statementlist (2) # Subtest: alias directive in a statement list # =alias FOO bar # = 137 # 42 ok 1 - do we get the final result ok 2 - Str: deparse ok 3 - Raku: deparse 1..3 ok 8 - alias directive in a statement list # Subtest: row directive in a statement list # =begin table # # =row :align # =end table # # 42 ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 9 - row directive in a statement list # Subtest: column directive in a statement list # =begin table # # =column :align # =end table # # 42 ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 10 - column directive in a statement list # Subtest: abbreviated defn in a statement list # =defn Foo Bar # baz # # 42 ok 1 - do we get the final result ok 2 - Str: deparse ok 3 - Raku: deparse 1..3 ok 11 - abbreviated defn in a statement list ok t/04-nativecall/18-routine-sig-sanity.t ......................... 1..36 ok 1 - Taking a pointer is fine ok 2 - Taking a Pointer[int32] is fine # Subtest: Taking a Pointer[Int] is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 3 - Taking a Pointer[Int] is NOT fine ok 4 - Taking a CStruct is fine ok 5 - Taking a CArray is fine ok 6 - Taking a Buf is fine # Subtest: Taking a CArray[int] is not fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 7 - Taking a CArray[int] is not fine # Subtest: Taking a Raku class is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 8 - Taking a Raku class is NOT fine ok 9 - Taking a int32 is fine # Subtest: Taking a Int is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 10 - Taking a Int is NOT fine # Subtest: Taking a int is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 11 - Taking a int is NOT fine ok 12 - Taking a num32 is fine # Subtest: Taking a Num is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 13 - Taking a Num is NOT fine # Subtest: Taking a num is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 14 - Taking a num is NOT fine ok 15 - Taking a Str is fine ok 16 - FIXME: Taking a str is buggy but should be fine? ok 17 - Returning a pointer is fine ok 18 - Returning a CStruct is fine ok 19 - Returning a CArray is fine ok 20 - Returning a int32 is fine # Subtest: Returning a Int is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 21 - Returning a Int is NOT fine # Subtest: Returning a int is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 22 - Returning a int is NOT fine ok 23 - Returning a num32 is fine # Subtest: Returning a Num is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 24 - Returning a Num is NOT fine # Subtest: Returning a num is NOT fine 1..2 ok 1 - code dies ok 2 - right exception type (X::FailOnWarn) ok 25 - Returning a num is NOT fine ok 26 - Returning a bool is fine ok 27 - FIXME: Returning a Bool maybe be bugged ok 28 - Taking an encoded Str is fine ok 29 - Returning an encoded Str is fine ok 30 - Good trait declaration ok 31 - Embeded type ok 32 - Void function ok 33 - Method are silly ok 34 - Blob should work ok 35 - Return a type in its definition ok 36 - The object is-a 'B' ok t/08-performance/31-rakuast-constant-terms.t .................... 1..19 ok 1 - # SKIP the constant term shapes are specific to the RakuAST frontend ok 2 - # SKIP the constant term shapes are specific to the RakuAST frontend ok 3 - # SKIP the constant term shapes are specific to the RakuAST frontend ok 4 - # SKIP the constant term shapes are specific to the RakuAST frontend ok 5 - # SKIP the constant term shapes are specific to the RakuAST frontend ok 6 - # SKIP the constant term shapes are specific to the RakuAST frontend ok 7 - # SKIP the constant term shapes are specific to the RakuAST frontend ok 8 - the compiled value keeps the identity of the setting constant ok 9 - a folded True is still true ok 10 - a folded False is still false ok 11 - a folded enum value compares to itself ok 12 - a folded enum value keeps its value ok 13 - a folded unit constant computes ok 14 - the outer constant reads its own value ok 15 - the shadowing constant reads its own value ok 16 - the outer constant reads unchanged after the block ok 17 - a constant holding a type object reads the very type object ok 18 - the folded constants compiles ok 19 - the folded constants loads from the precompilation store ok t/12-rakuast/label.rakutest ..................................... 1..19 ok 1 - .new constructs a label ok 2 - is the name correct ok 3 - is default scope ok ok 4 - are allowed-scopes ok ok 5 - Deparses in an expected way # Subtest: Statement list with labels evaluates to its final statement # FOO: ++$x; # BAR: ; # ++$y ok 1 - deparse 1..1 ok 6 - Statement list with labels evaluates to its final statement # Subtest: Basic if structure with a label # FOO: if $a { # 1 # } ok 1 - deparse 1..1 ok 7 - Basic if structure with a label # Subtest: Basic with structure with label # FOO: with $a -> $x { # $x # } ok 1 - deparse 1..1 ok 8 - Basic with structure with label # Subtest: simple unless with a false condition and a label # FOO: unless $x { # ++$y # } ok 1 - deparse 1..1 ok 9 - simple unless with a false condition and a label # Subtest: simple without with an undefined condition and a label # FOO: without $x { # $y++ # } ok 1 - deparse 1..1 ok 10 - simple without with an undefined condition and a label # Subtest: given with explicit signature # FOO: given $a -> $x { # $x # } ok 1 - deparse 1..1 ok 11 - given with explicit signature # Subtest: While loop at statement level evaluates to Nil # FOO: while $x { # --$x # } ok 1 - deparse ok 2 - AST: while loop at statement level evaluates to Nil ok 3 - AST: Loop variable was decremented to zero ok 4 - Str: while loop at statement level evaluates to Nil ok 5 - Str: Loop variable was decremented to zero 1..5 ok 12 - While loop at statement level evaluates to Nil # Subtest: Until loop at statement level evaluates to Nil # FOO: until !$x { # --$x # } ok 1 - deparse ok 2 - AST: until loop at statement level evaluates to Nil ok 3 - AST: Loop variable was decremented to zero ok 4 - Str: until loop at statement level evaluates to Nil ok 5 - Str: Loop variable was decremented to zero 1..5 ok 13 - Until loop at statement level evaluates to Nil # Subtest: Repeat while loop at statement level evaluates to Nil # FOO: repeat { # --$x # } while $x ok 1 - deparse ok 2 - AST: repeat until loop at statement level evaluates to Nil ok 3 - AST: loop variable decremented to 0 ok 4 - Str: repeat until loop at statement level evaluates to Nil ok 5 - Str: loop variable decremented to 0 1..5 ok 14 - Repeat while loop at statement level evaluates to Nil # Subtest: Repeat until loop at statement level evaluates to Nil # FOO: repeat { # --$x # } until $x ok 1 - deparse ok 2 - AST: repeat until loop at statement level evaluates to Nil ok 3 - AST: loop ran once ok 4 - DEPARSE: repeat until loop at statement level evaluates to Nil ok 5 - DEPARSE: loop ran once 1..5 ok 15 - Repeat until loop at statement level evaluates to Nil # Subtest: Loop block with setup and increment expression # FOO: loop (my $i = 9; $i; --$i) { # ++$count # } ok 1 - deparse ok 2 - AST: loop with setup and increment evaluates to Nil ok 3 - AST: loop ran as expected ok 4 - Str: loop with setup and increment evaluates to Nil ok 5 - Str: loop ran as expected 1..5 ok 16 - Loop block with setup and increment expression # Subtest: Statement level for loop # FOO: for 2 .. 7 -> $x { # ++$count # } ok 1 - deparse ok 2 - AST: for loop evaluates to Nil ok 3 - AST: loop ran with expected number of times ok 4 - Str: for loop evaluates to Nil ok 5 - Str: loop ran with expected number of times 1..5 ok 17 - Statement level for loop # FOO: use Test; # ok(1, "use statements work") ok 18 - deparse # Subtest: check parsing of 'need' pragma # FOO: need Test ok 1 - deparse 1..1 ok 19 - check parsing of 'need' pragma ok t/12-rakuast/placeholder.rakutest ............................... 1..6 # Subtest: Placeholder positional parameter # sub { # $^pos # } ok 1 - deparse ok 2 - AST: Sub has one params elem ok 3 - AST: The block has 1 arity ok 4 - AST: The block has 1 count ok 5 - AST: Correct variable name ok 6 - AST: It is not optional ok 7 - AST: Invoking the sub with a positional argument works ok 8 - AST: Invoking the sub without an argument dies ok 9 - Str: Sub has one params elem ok 10 - Str: The block has 1 arity ok 11 - Str: The block has 1 count ok 12 - Str: Correct variable name ok 13 - Str: It is not optional ok 14 - Str: Invoking the sub with a positional argument works ok 15 - Str: Invoking the sub without an argument dies ok 16 - Raku: Sub has one params elem ok 17 - Raku: The block has 1 arity ok 18 - Raku: The block has 1 count ok 19 - Raku: Correct variable name ok 20 - Raku: It is not optional ok 21 - Raku: Invoking the sub with a positional argument works ok 22 - Raku: Invoking the sub without an argument dies 1..22 ok 1 - Placeholder positional parameter # Subtest: Placeholder named parameter # sub { # $:named # } ok 1 - deparse ok 2 - AST: Sub has one params elem ok 3 - AST: The block has 0 arity ok 4 - AST: The block has 0 count ok 5 - AST: Correct variable name ok 6 - AST: Correct named name ok 7 - AST: It is not optional ok 8 - AST: Invoking the sub with a named argument works ok 9 - AST: Invoking the sub without an argument dies ok 10 - Str: Sub has one params elem ok 11 - Str: The block has 0 arity ok 12 - Str: The block has 0 count ok 13 - Str: Correct variable name ok 14 - Str: Correct named name ok 15 - Str: It is not optional ok 16 - Str: Invoking the sub with a named argument works ok 17 - Str: Invoking the sub without an argument dies 1..17 ok 2 - Placeholder named parameter # Subtest: Placeholder slurpy array # sub { # @_ # } ok 1 - deparse ok 2 - AST: Sub has one params elem ok 3 - AST: The block has 0 arity ok 4 - AST: The block has Inf count ok 5 - AST: Correct variable name ok 6 - AST: It is not optional ok 7 - AST: Invoking sub with a list works ok 8 - AST: Invoking the sub without arguments works ok 9 - Str: Sub has one params elem ok 10 - Str: The block has 0 arity ok 11 - Str: The block has Inf count ok 12 - Str: Correct variable name ok 13 - Str: It is not optional ok 14 - Str: Invoking sub with a list works ok 15 - Str: Invoking the sub without arguments works 1..15 ok 3 - Placeholder slurpy array # Subtest: Placeholder slurpy hash # sub { # %_ # } ok 1 - deparse ok 2 - AST: Sub has one params elem ok 3 - AST: The block has 0 arity ok 4 - AST: The block has 0 count ok 5 - AST: Correct variable name ok 6 - AST: It is not optional ok 7 - AST: Invoking sub with nameds works ok 8 - AST: Invoking the sub without arguments works ok 9 - Str: Sub has one params elem ok 10 - Str: The block has 0 arity ok 11 - Str: The block has 0 count ok 12 - Str: Correct variable name ok 13 - Str: It is not optional ok 14 - Str: Invoking sub with nameds works ok 15 - Str: Invoking the sub without arguments works 1..15 ok 4 - Placeholder slurpy hash # Subtest: Placeholder fake slurpy array # sub (@_) { # @_ # } ok 1 - deparse ok 2 - AST: Sub has one params elem ok 3 - AST: The block has 1 arity ok 4 - AST: The block has 1 count ok 5 - AST: Correct variable name ok 6 - AST: It is not optional ok 7 - AST: Invoking sub with a list works ok 8 - AST: Invoking the sub with empty list works ok 9 - Str: Sub has one params elem ok 10 - Str: The block has 1 arity ok 11 - Str: The block has 1 count ok 12 - Str: Correct variable name ok 13 - Str: It is not optional ok 14 - Str: Invoking sub with a list works ok 15 - Str: Invoking the sub with empty list works 1..15 ok 5 - Placeholder fake slurpy array # Subtest: Placeholder fake slurpy hash # sub (%_) { # %_ # } ok 1 - deparse ok 2 - AST: Sub has one params elem ok 3 - AST: The block has 1 arity ok 4 - AST: The block has 1 count ok 5 - AST: Correct variable name ok 6 - AST: It is not optional ok 7 - AST: Invoking sub with hash works ok 8 - AST: Invoking the sub with empty hash ok 9 - Str: Sub has one params elem ok 10 - Str: The block has 1 arity ok 11 - Str: The block has 1 count ok 12 - Str: Correct variable name ok 13 - Str: It is not optional ok 14 - Str: Invoking sub with hash works ok 15 - Str: Invoking the sub with empty hash 1..15 ok 6 - Placeholder fake slurpy hash ok t/12-rakuast/call-method.rakutest ............................... 1..15 # Subtest: Can make a call on a method without arguments # TestTarget.route ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - Can make a call on a method without arguments # Subtest: Can make a call on a submethod without arguments # TestTarget.subby ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Can make a call on a submethod without arguments # Subtest: Can make a call on a method with positional arguments # TestTarget.subtract(14, 6) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Can make a call on a method with positional arguments # Subtest: Method call WHAT compiles into MOP primitive # 42.WHAT ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Method call WHAT compiles into MOP primitive # Subtest: Method call HOW compiles into MOP primitive # 42.HOW ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Method call HOW compiles into MOP primitive # Subtest: Method call WHO compiles into MOP primitive # 42.WHO ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Method call WHO compiles into MOP primitive # Subtest: Method call DEFINITE compiles into MOP primitive # 42.DEFINITE ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - Method call DEFINITE compiles into MOP primitive # Subtest: Method call REPR compiles into MOP primitive # 42.REPR ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - Method call REPR compiles into MOP primitive # Subtest: Can make a quoted call on a method without arguments # TestTarget."route"() ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 9 - Can make a quoted call on a method without arguments # Subtest: Can make a quoted call on a method with positional arguments # TestTarget."subtract"(14, 6) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 10 - Can make a quoted call on a method with positional arguments # Subtest: Can make a meta-method call # 42.^name ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 11 - Can make a meta-method call # Subtest: Can make a method call if the method exists # TestTarget.?subtract(50, 8) ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 12 - Can make a method call if the method exists # Subtest: Can make a method call if the method does not exist # TestTarget.?dunno ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 13 - Can make a method call if the method does not exist # Subtest: Can make a private method call # A!private ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 14 - Can make a private method call # Subtest: Can make a method call on a sub # "foo".&uc() ok 1 - deparsed ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 15 - Can make a method call on a sub ok t/02-rakudo/16-begin-time-eval.t ................................ ok 1 - Module loaded successfully 1..1 ok t/04-nativecall/19-function-pointers.t .......................... 1..1 ok 1 - Pointer cast to Raku Sub ok t/12-rakuast/regex-declaration.rakutest ......................... 1..3 # Subtest: Simple regex declaration # my regex aplus { a+ } ok 1 - deparse ok 2 - AST: is the name ok ok 3 - AST: did we get correct match ok 4 - AST: did we get match for 'aaaa' ok 5 - AST: did it not match with ratchet ok 6 - Str: is the name ok ok 7 - Str: did we get correct match ok 8 - Str: did we get match for 'aaaa' ok 9 - Str: did it not match with ratchet ok 10 - Raku: is the name ok ok 11 - Raku: did we get correct match ok 12 - Raku: did we get match for 'aaaa' ok 13 - Raku: did it not match with ratchet 1..13 ok 1 - Simple regex declaration # Subtest: Simple token declaration # my token aplus { a+ } ok 1 - deparse ok 2 - AST: is the name ok ok 3 - AST: did we get match ok 4 - AST: did we get match for 'aaaa' ok 5 - AST: did it not match ok 6 - Str: is the name ok ok 7 - Str: did we get match ok 8 - Str: did we get match for 'aaaa' ok 9 - Str: did it not match ok 10 - Raku: is the name ok ok 11 - Raku: did we get match ok 12 - Raku: did we get match for 'aaaa' ok 13 - Raku: did it not match 1..13 ok 2 - Simple token declaration # Subtest: Simple rule declaration # my rule aplus { a+ } ok 1 - deparse ok 2 - AST: is the name ok ok 3 - AST: did we get match for 'aaaa' ok 4 - AST: did we get match for 'aaaa ' ok 5 - AST: did it not match ok 6 - Str: is the name ok ok 7 - Str: did we get match for 'aaaa' ok 8 - Str: did we get match for 'aaaa ' ok 9 - Str: did it not match ok 10 - Raku: is the name ok ok 11 - Raku: did we get match for 'aaaa' ok 12 - Raku: did we get match for 'aaaa ' ok 13 - Raku: did it not match 1..13 ok 3 - Simple rule declaration ok t/12-rakuast/pair.rakutest ...................................... 1..8 # Subtest: Fat arrow syntax forms a Pair # answer => 42 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - Fat arrow syntax forms a Pair # Subtest: True colonpair forms a Pair with value True # :r ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - True colonpair forms a Pair with value True # Subtest: False colonpair forms a Pair with value False # :!r ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - False colonpair forms a Pair with value False # Subtest: Number colonpair forms a Pair with the correct Int value # :42answer ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Number colonpair forms a Pair with the correct Int value # Subtest: Value colonpair forms a Pair with the correct value (1) # :cheese("stilton") ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Value colonpair forms a Pair with the correct value (1) # Subtest: Value colonpair forms a Pair with the correct value (2) # :cheese ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Value colonpair forms a Pair with the correct value (2) # Subtest: Value colonpair forms a Pair with the correct value (3) # :cheese ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - Value colonpair forms a Pair with the correct value (3) # Subtest: Variable colonpair forms a Pair that looks up the variable # :$curry ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - Variable colonpair forms a Pair that looks up the variable ok t/04-nativecall/10-cglobals.t ................................... 1..7 ok 1 - global int works ok 2 - global short works ok 3 - global char works ok 4 - global double works ok 5 - global float works ok 6 - global string works ok 7 - global null string pointer ok t/12-rakuast/origins.rakutest ................................... 1..2 # Subtest: Locations 1..12 # Subtest: Position 3 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 1 - Position 3 # Subtest: Position 14 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 2 - Position 14 # Subtest: Position 18 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 3 - Position 18 # Subtest: Position 53 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 4 - Position 53 # Subtest: Position 58 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 5 - Position 58 # Subtest: Position 61 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 6 - Position 61 # Subtest: Position 83 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 7 - Position 83 # Subtest: Position 86 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 8 - Position 86 # Subtest: Position 98 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 9 - Position 98 # Subtest: Position 113 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 10 - Position 113 # Subtest: Position 131 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 11 - Position 131 # Subtest: Position 135 1..2 # Subtest: Non-key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 1 - Non-key node # Subtest: Key node 1..5 ok 1 - node type ok 2 - attribute file ok 3 - attribute from ok 4 - attribute line ok 5 - attribute orig-line ok 2 - Key node ok 12 - Position 135 ok 1 - Locations # Subtest: Backtrace with line directive 1..1 # Subtest: die after a line directive 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - die after a line directive ok 2 - Backtrace with line directive ok t/04-nativecall/21-callback-other-thread.t ...................... 1..9 ok 1 - Sanity check: Calling callback on thread that set it works ok 2 - Calling callback on another thread works (3) ok 3 - Calling callback on another thread works (4) ok 4 - Calling callback on another thread works (0) ok 5 - Calling callback on another thread works (5) ok 6 - Calling callback on another thread works (2) ok 7 - Calling callback on another thread works (6) ok 8 - Calling callback on another thread works (7) ok 9 - Calling callback on another thread works (1) ok t/04-nativecall/25-embedded.t ................................... 1..1 t/04-nativecall/25-embedded.c: In function 'prinx': t/04-nativecall/25-embedded.c:19:24: warning: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'int64_t' {aka 'long long int'} [-Wformat=] 19 | printf("Have %lx\n", out->x); | ~~^ ~~~~~~ | | | | | int64_t {aka long long int} | long unsigned int | %llx Have ffc7e6cc ok 1 - ok t/12-rakuast/enum.rakutest ...................................... 1..7 # Subtest: Simple enum # enum foo ok 1 - deparse ok 2 - AST: did it produce the right Map ok 3 - AST: was the enum installed ok 4 - AST: first enum element ok 5 - AST: second enum element # TODO keys are not yet installed in OUR:: ok 6 - AST: third enum element # TODO keys are not yet installed in OUR:: ok 7 - Str: did it produce the right Map ok 8 - Str: was the enum installed ok 9 - Str: first enum element ok 10 - Str: second enum element # TODO keys are not yet installed in OUR:: ok 11 - Str: third enum element # TODO keys are not yet installed in OUR:: ok 12 - Raku: did it produce the right Map ok 13 - Raku: was the enum installed ok 14 - Raku: first enum element ok 15 - Raku: second enum element # TODO keys are not yet installed in OUR:: ok 16 - Raku: third enum element # TODO keys are not yet installed in OUR:: 1..16 ok 1 - Simple enum # Subtest: Simple lexical enum # my enum foo ; # MY:: ok 1 - deparse ok 2 - AST: is the constant *not* in OUR:: ok 3 - AST: was enum installed ok 4 - AST: first enum element ok 5 - AST: second enum element ok 6 - AST: third enum element ok 7 - Str: is the constant *not* in OUR:: ok 8 - Str: was enum installed ok 9 - Str: first enum element ok 10 - Str: second enum element ok 11 - Str: third enum element ok 12 - Raku: is the constant *not* in OUR:: ok 13 - Raku: was enum installed ok 14 - Raku: first enum element ok 15 - Raku: second enum element ok 16 - Raku: third enum element 1..16 ok 2 - Simple lexical enum # Subtest: Enum with preset values # enum foo (:0a, :1b, :2c) ok 1 - deparse ok 2 - AST: did it produce the right Map ok 3 - AST: was the enum installed ok 4 - AST: first enum element ok 5 - AST: second enum element # TODO keys are not yet installed in OUR:: ok 6 - AST: third enum element # TODO keys are not yet installed in OUR:: ok 7 - Str: did it produce the right Map ok 8 - Str: was the enum installed ok 9 - Str: first enum element ok 10 - Str: second enum element # TODO keys are not yet installed in OUR:: ok 11 - Str: third enum element # TODO keys are not yet installed in OUR:: ok 12 - Raku: did it produce the right Map ok 13 - Raku: was the enum installed ok 14 - Raku: first enum element ok 15 - Raku: second enum element # TODO keys are not yet installed in OUR:: ok 16 - Raku: third enum element # TODO keys are not yet installed in OUR:: 1..16 ok 3 - Enum with preset values # Subtest: BEGIN-wrapped enum with term # BEGIN enum foo ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - BEGIN-wrapped enum with term # Subtest: BEGIN-wrapped enum with colon-pair term # BEGIN enum foo (:0a, :1b, :2c) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - BEGIN-wrapped enum with colon-pair term # Subtest: CHECK-wrapped enum with term # CHECK enum foo ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - CHECK-wrapped enum with term # Subtest: Anonymous enum (enum ::) ok 1 - AST two-Empty: deparse uses :: placeholder ok 2 - AST two-Empty: enum AST evaluates to expected Map ok 3 - Source: anonymous enum compiles outside a role ok 4 - Source: anonymous enum yields expected Map 1..4 ok 7 - Anonymous enum (enum ::) ok t/12-rakuast/regex-charclass.rakutest ........................... 1..5 # Subtest: All of the simple character classes # /."\b"\r\d\e\f\h\n\0\s\t\v\w/ ok 1 - deparse ok 2 - AST: pass case ok 3 - Str: pass case ok 4 - Raku: pass case 1..4 ok 1 - All of the simple character classes # Subtest: All of the simple character classes than can be negated # /\R\D\E\F\H\N\S\T\V\W/ ok 1 - deparse ok 2 - AST: pass case ok 3 - Str: pass case ok 4 - Raku: pass case 1..4 ok 2 - All of the simple character classes than can be negated # Subtest: A single unicode character specified by name # /\c[COMMA]/ ok 1 - deparse ok 2 - AST: pass case ok 3 - Str: pass case ok 4 - Raku: pass case 1..4 ok 3 - A single unicode character specified by name # Subtest: Multiple unicode characters specified by name # /\c[REGIONAL INDICATOR SYMBOL LETTER U, REGIONAL INDICATOR SYMBOL LETTER A]/ ok 1 - deparse ok 2 - AST: pass case ok 3 - Str: pass case ok 4 - Raku: pass case 1..4 ok 4 - Multiple unicode characters specified by name # Subtest: Multiple unicode characters specified by name negated # /\C[REGIONAL INDICATOR SYMBOL LETTER U, REGIONAL INDICATOR SYMBOL LETTER A]/ ok 1 - deparse ok 2 - AST: pass case ok 3 - Str: pass case ok 4 - Raku: pass case 1..4 ok 5 - Multiple unicode characters specified by name negated ok t/04-nativecall/07-writebarrier.t ............................... 1..7 ok 1 - pointer in struct before twiddle ok 2 - pointer in struct after twiddle ok 3 - array element 1 after twiddle ok 4 - array element 2 after twiddle ok 5 - array element 3 after twiddle ok 6 - ignore NULL arguments ok 7 - struct value after refresh ok t/04-nativecall/22-method.t ..................................... 1..2 ok 1 - native sub as method ok 2 - and got the result we expected ok t/09-moar/00-misc.t ............................................. 1..5 # Subtest: no SPESH crashes with duplicate `use Test` 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - no SPESH crashes with duplicate `use Test` ok 2 - No SEGV when many threads try to change the debug type name ok 3 - does srand produce same rand_I values ok 4 - does srand produce same rand_n values ok 5 - Repeatedly trying to clone a Lock does not lead to a crash ok t/02-rakudo/thread-unhandled-exception.t ........................ 1..38 ok 1 - The exception message of a Thread that died reaches stderr ok 2 - A Thread that died does not produce the low level VM report ok 3 - A process whose Thread died from an exception exits with 1 ok 4 - RAKU_EXCEPTIONS_HANDLER renders the exception of a Thread that died ok 5 - The handler output of a Thread that died has no default report ok 6 - A process whose Thread died with the handler set exits with 1 ok 7 - A Thread that died keeps the full backtrace under --ll-exception ok 8 - A process whose Thread died under --ll-exception exits with 1 ok 9 - END phasers run for a process whose Thread died ok 10 - A process whose Thread died runs END phasers and exits with 1 ok 11 - A pool worker that died keeps its usual report without the handler set ok 12 - A process whose pool worker died exits with 1 ok 13 - RAKU_EXCEPTIONS_HANDLER renders the exception of a pool worker that died ok 14 - The handler output of a pool worker that died has no default report ok 15 - A process whose pool worker died with the handler set exits with 1 ok 16 - A handler that cannot be loaded falls back to the usual pool report ok 17 - A process whose pool worker died with an unloadable handler exits with 1 ok 18 - A handler that declines is followed by the usual pool report ok 19 - A process whose pool worker died with a declining handler exits with 1 ok 20 - A handler that died is followed by the usual pool report ok 21 - A handler that died is reported itself ok 22 - The exception a handler died with is reported ok 23 - A process whose pool worker died with a dying handler exits with 1 ok 24 - The pool report keeps the full backtrace under --ll-exception ok 25 - A process whose pool worker died under --ll-exception exits with 1 ok 26 - A sunk broken Promise with an exception that was never thrown is reported ok 27 - A process with a sunk broken Promise exits with 1 ok 28 - END phasers run for a process whose pool worker died ok 29 - A process whose pool worker died runs END phasers and exits with 1 ok 30 - A sunk Promise broken with an exception type object is reported ok 31 - A process with a sunk Promise broken with a type object exits with 1 ok 32 - A value that is not an exception passed to handle_uncaught is reported ok 33 - A process that passed a plain value to handle_uncaught exits with 1 ok 34 - A report whose rendering died still reports the original message ok 35 - A report whose rendering died names the failure that broke it ok 36 - A report whose rendering died does not blame unrelated code ok 37 - A report whose rendering died does not end in the low level VM report ok 38 - A process whose report rendering died exits with 1 ok t/12-rakuast/heredocs.rakutest .................................. 1..12 # Subtest: One-part heredoc with literal piece # qq:to/CODE/ # hello # # goodbye # CODE ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - One-part heredoc with literal piece # Subtest: Heredoc with interpolated string variable works # qq:to/MESSAGE/ # $str world # MESSAGE ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Heredoc with interpolated string variable works # Subtest: Heredoc with interpolated integer variable # qq:to/INTY/ # $int is the answer # INTY ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Heredoc with interpolated integer variable # Subtest: Heredoc with 3 parts works # qq:to/MORE/ # The answer is $int of course! # MORE ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Heredoc with 3 parts works # Subtest: Heredoc involving an interpolated block # qq:to// # An { # $bv # } block # ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Heredoc involving an interpolated block # Subtest: words processor splits a heredoc into words # qq:w:to/WORDS/ # foo bar 42 # WORDS ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - words processor splits a heredoc into words # Subtest: Words processor applied to a heredoc with interpolation # qq:w:to/WORDS/ # ba$stuff 66 # WORDS ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - Words processor applied to a heredoc with interpolation # Subtest: Using the val processor alone on a heredoc # qq:v:to/VAL/ # 42 # VAL ok 1 - deparse ok 2 - AST not ok 3 - Str # TODO problem in parsing static heredocs and :v # Failed test 'Str' # at t/12-rakuast/heredocs.rakutest line 181 # expected: IntStr.new(42, "42\n") # got: "42\n" ok 4 - Raku # TODO problem in parsing static heredocs and :v 1..4 ok 8 - Using the val processor alone on a heredoc # Subtest: Using the val processor in heredoc with interpolation # qq:v:to/VAL/ # 4$end # VAL ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 9 - Using the val processor in heredoc with interpolation # Subtest: Using the words and val processor in a heredoc # qq:w:v:to/VALS/ # foo bar 42 # VALS ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 10 - Using the words and val processor in a heredoc # Subtest: Words processor applied to a heredoc with interpolation # qq:w:v:to/HUH/ # ba$stuff 66 # HUH ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 11 - Words processor applied to a heredoc with interpolation # Subtest: Using the exec processor alone gives expected result # qq:x:to/GO/ # echo 123 # GO ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 12 - Using the exec processor alone gives expected result ok t/04-nativecall/27-proxy-args.t ................................. 1..6 ok 1 - int return through a Proxy argument boxes to Int ok 2 - the boxed int return holds its value ok 3 - num return through a Proxy argument boxes to Num ok 4 - the boxed num return holds its value ok 5 - str return through a Proxy argument boxes to Str ok 6 - the boxed str return holds its value ok t/04-nativecall/20-concurrent.t ................................. 1..3 ok 1 - Correct results when running native code across threads ok 2 - A sleeping native call does not block running/GC in another thread ok 3 - Can call native function while one in another thread is sleeping ok t/04-nativecall/09-nativecast.t ................................. 1..9 ok 1 - casting int * to CArray[uint32] works ok 2 - casting to CStruct works ok 3 - casting to int32 works ok 4 - casting to int16 works ok 5 - casting to int8 works ok 6 - casting to num64 works ok 7 - casting to num32 works ok 8 - casting to str works ok 9 - casting null pointer to str ok t/12-rakuast/regex-substitution.rakutest ........................ 1..7 # Subtest: Simple literal substitution on topic # s/o/x/ ok 1 - deparse ok 2 - AST: did we get right return value ok 3 - AST: did it set $/ correctly ok 4 - AST: is topic changed ok 5 - Str: did we get right return value ok 6 - Str: did it set $/ correctly ok 7 - Str: is topic changed ok 8 - Raku: did we get right return value ok 9 - Raku: did it set $/ correctly ok 10 - Raku: is topic changed 1..10 ok 1 - Simple literal substitution on topic # Subtest: Simple literal modification on topic # S/o/x/ ok 1 - deparse ok 2 - AST: did we get right return value ok 3 - AST: did it set $/ correctly ok 4 - AST: is topic unchanged ok 5 - Str: did we get right return value ok 6 - Str: did it set $/ correctly ok 7 - Str: is topic unchanged ok 8 - Raku: did we get right return value ok 9 - Raku: did it set $/ correctly ok 10 - Raku: is topic unchanged 1..10 ok 2 - Simple literal modification on topic # Subtest: Simple literal substitution using infix syntax # s{o} = "x" ok 1 - deparse ok 2 - AST: did we get right return value ok 3 - AST: did it set $/ correctly ok 4 - AST: is the result correct ok 5 - Str: did we get right return value ok 6 - Str: did it set $/ correctly ok 7 - Str: is the result correct ok 8 - Raku: did we get right return value ok 9 - Raku: did it set $/ correctly ok 10 - Raku: is the result correct 1..10 ok 3 - Simple literal substitution using infix syntax # Subtest: Simple literal substitution on variable # $string ~~ s/o/x/ ok 1 - deparse ok 2 - AST: did we get right return value ok 3 - AST: did it set $/ correctly ok 4 - AST: is the result correct ok 5 - Str: did we get right return value ok 6 - Str: did it set $/ correctly ok 7 - Str: is the result correct ok 8 - Raku: did we get right return value ok 9 - Raku: did it set $/ correctly ok 10 - Raku: is the result correct 1..10 ok 4 - Simple literal substitution on variable # Subtest: Simple literal substitution on variable with adverbs # $string ~~ s:g:i/O/x/ ok 1 - deparse ok 2 - AST: did we get right return value ok 3 - AST: did it set $/ correctly ok 4 - AST: is the result correct ok 5 - Str: did we get right return value ok 6 - Str: did it set $/ correctly ok 7 - Str: is the result correct ok 8 - Raku: did we get right return value ok 9 - Raku: did it set $/ correctly ok 10 - Raku: is the result correct 1..10 ok 5 - Simple literal substitution on variable with adverbs # Subtest: Simple variable substitution on variable # $string ~~ s/o/$x/ ok 1 - deparse ok 2 - AST: did we get right return value ok 3 - AST: did it set $/ correctly ok 4 - AST: is the result correct ok 5 - Str: did we get right return value ok 6 - Str: did it set $/ correctly ok 7 - Str: is the result correct ok 8 - Raku: did we get right return value ok 9 - Raku: did it set $/ correctly ok 10 - Raku: is the result correct 1..10 ok 6 - Simple variable substitution on variable # Subtest: Simple Callable substitution on variable # $string ~~ s/o/{ # $x # }/ ok 1 - deparse ok 2 - AST: did we get right return value ok 3 - AST: did it set $/ correctly ok 4 - AST: is the result correct ok 5 - Str: did we get right return value ok 6 - Str: did it set $/ correctly ok 7 - Str: is the result correct ok 8 - Raku: did we get right return value ok 9 - Raku: did it set $/ correctly ok 10 - Raku: is the result correct 1..10 ok 7 - Simple Callable substitution on variable ok t/04-nativecall/14-rw-attrs.t ................................... 1..16 ok 1 - got initialized (long) ok 2 - got initialized (double) ok 3 - got initialized (char) ok 4 - got initialized (float) ok 5 - set in C (long) ok 6 - set in C (double) ok 7 - set in C (char) ok 8 - set in C (float) ok 9 - set in Raku (long) ok 10 - set in Raku (double) ok 11 - set in Raku (char) ok 12 - set in Raku (float) ok 13 - C confirms (long) ok 14 - C confirms (double) ok 15 - C confirms (char) ok 16 - C confirms (float) ok t/13-experimental/macros-errors.rakutest ........................ 1..2 ok 1 - macro returning AST.new doesn't blow up ok 2 - die-ing inside a macro dies normally. ok t/04-nativecall/01-argless.t .................................... 1..14 ok 1 - survived the call ok 2 - called argless function returning int32 ok 3 - called argless function returning int32 ok 4 - called argless function returning char ok 5 - called argless function returning char ok 6 - called argless function returning long long ok 7 - called argless function returning long long ok 8 - called argless function returning pointer ok 9 - called argless function returning pointer ok 10 - called argless function returning string ok 11 - called argless function returning string ok 12 - called long_and_complicated_name ok 13 - called argless closure ok 14 - called argless closure ok t/13-experimental/macros-advent2012-day23.rakutest .............. 1..2 ok 1 - checkpoint example ok 2 - LOG macro ok t/04-nativecall/08-callbacks.t .................................. 1..13 ok 1 - simple callback ok 2 - simple callback ok 3 - optional callback with Code type object ok 4 - optional callback with Pointer type object ok 5 - int callback argument ok 6 - string callback argument ok 7 - struct callback string argument ok 8 - struct callback int argument ok 9 - callback returned a float to C ok 10 - callback returned a string to C ok 11 - callback returned a struct to C ok 12 - ok 13 - ok t/09-moar/Line_Break__LineBreak.t ............................... ok 1 - Property: Line_Break=ID from file: LineBreak.txt (Correct: 115049 Wrong: 57512). Todo'd if < 62579 failures. # TODO Expecting 62579 failures from Line_Break=ID ok 2 - Property: Line_Break=PR from file: LineBreak.txt (Correct: 53 Wrong: 14). Todo'd if < 15 failures. # TODO Expecting 15 failures from Line_Break=PR 1..2 ok t/14-smoke/optimizations.rakutest ............................... 1..1 ok 1 - \#6109 - makefile template broke windows optimization path for smartmatch ok t/12-rakuast/stubs.rakutest ..................................... 1..6 # Subtest: can make a simple ... stub # ... ok 1 - deparse ok 2 - AST: did we get return? ok 3 - AST: did we get a Failure ok 4 - AST: did we get right exception ok 5 - AST: payload ok ok 6 - Str: did we get return? ok 7 - Str: did we get a Failure ok 8 - Str: did we get right exception ok 9 - Str: payload ok ok 10 - Raku: did we get return? ok 11 - Raku: did we get a Failure ok 12 - Raku: did we get right exception ok 13 - Raku: payload ok 1..13 ok 1 - can make a simple ... stub # Subtest: can make a ... stub with info # ... "foobar" ok 1 - deparse ok 2 - AST: did we get return? ok 3 - AST: did we get a Failure ok 4 - AST: did we get right exception ok 5 - AST: payload ok ok 6 - Str: did we get return? ok 7 - Str: did we get a Failure ok 8 - Str: did we get right exception ok 9 - Str: payload ok ok 10 - Raku: did we get return? ok 11 - Raku: did we get a Failure ok 12 - Raku: did we get right exception ok 13 - Raku: payload ok 1..13 ok 2 - can make a ... stub with info # Subtest: can make a simple !!! stub # !!! ok 1 - deparse # Subtest: did we throws-like X::StubCode? 1..3 ok 1 - code dies ok 2 - right exception type (X::StubCode) ok 3 - .message matches Stub code executed ok 2 - did we throws-like X::StubCode? # Subtest: did we throws-like X::StubCode? 1..3 ok 1 - code dies ok 2 - right exception type (X::StubCode) ok 3 - .message matches Stub code executed ok 3 - did we throws-like X::StubCode? # Subtest: did we throws-like X::StubCode? 1..3 ok 1 - code dies ok 2 - right exception type (X::StubCode) ok 3 - .message matches Stub code executed ok 4 - did we throws-like X::StubCode? 1..4 ok 3 - can make a simple !!! stub # Subtest: can make a !!! stub with info # !!! "foobar" ok 1 - deparse # Subtest: did we throws-like X::StubCode? 1..3 ok 1 - code dies ok 2 - right exception type (X::StubCode) ok 3 - .message matches foobar ok 2 - did we throws-like X::StubCode? # Subtest: did we throws-like X::StubCode? 1..3 ok 1 - code dies ok 2 - right exception type (X::StubCode) ok 3 - .message matches foobar ok 3 - did we throws-like X::StubCode? # Subtest: did we throws-like X::StubCode? 1..3 ok 1 - code dies ok 2 - right exception type (X::StubCode) ok 3 - .message matches foobar ok 4 - did we throws-like X::StubCode? 1..4 ok 4 - can make a !!! stub with info # Subtest: can make a simple ??? stub # ??? ok 1 - deparse ok 2 - AST: did we get a warning? ok 3 - AST: the right warning ok 4 - Str: did we get a warning? ok 5 - Str: the right warning ok 6 - Raku: did we get a warning? ok 7 - Raku: the right warning 1..7 ok 5 - can make a simple ??? stub # Subtest: can make a ??? stub with info # ??? "foobar" ok 1 - deparse ok 2 - AST: did we get a warning? ok 3 - AST: the right warning ok 4 - Str: did we get a warning? ok 5 - Str: the right warning ok 6 - Raku: did we get a warning? ok 7 - Raku: the right warning 1..7 ok 6 - can make a ??? stub with info ok t/13-experimental/macros-opaque-ast.rakutest .................... 1..3 ok 1 - macro returning quasi ok 2 - Macros can return noops ok 3 - lexical vars in macros are not visible to the AST vars ok t/04-nativecall/26-varargs.t .................................... 1..14 t/04-nativecall/26-varargs.c: In function 'va2': t/04-nativecall/26-varargs.c:43:22: warning: left shift count >= width of type [-Wshift-count-overflow] 43 | a4 == -1 * 1l<<34 && | ^~ t/04-nativecall/26-varargs.c:47:18: warning: left shift count >= width of type [-Wshift-count-overflow] 47 | a8 == 1ul<<34; | ^~ t/04-nativecall/26-varargs.c: In function 'va3': t/04-nativecall/26-varargs.c:67:23: warning: left shift count >= width of type [-Wshift-count-overflow] 67 | *a4 == -1 * 1l<<34 && | ^~ t/04-nativecall/26-varargs.c:71:19: warning: left shift count >= width of type [-Wshift-count-overflow] 71 | *a8 == 1ul<<34; | ^~ ok 1 - Can pass plain ints ok 2 - Can pass Int ok 3 - Can pass typed ints ok 4 - Can pass pointers to typed ints ok 5 - can modify pointers (status) ok 6 - can modify pointers ok 7 - can pass strings ok 8 - can pass strings inline ok 9 - can pass CArrays ok 10 - can pass CArrays inline ok 11 - can pass CStruct ok 12 - can pass CStruct inline ok 13 - can pass CUnion ok 14 - can pass CUnion inline ok t/04-nativecall/02-simple-args.t ................................ 1..24 ok 1 - passed int 42 ok 2 - passed two shorts ok 3 - passed an int32, int16 and int8 ok 4 - passed a double ok 5 - passed a NaN (double) ok 6 - passed a float ok 7 - passed a NaN (float) ok 8 - passed a string ok 9 - defined/undefined works on the same callsite ok 10 - defined/undefined works on the same callsite ok 11 - checked previously passed string ok 12 - explicitly-manage returns the managed string ok 13 - callee freed an explicitly-managed string variable ok 14 - callee freed the result of explicitly-manage passed directly ok 15 - wrapped sub ok 16 - passed int64 0xFFFFFFFFFF ok 17 - passed uint8 0xFE ok 18 - passed uint16 0xFFFE ok 19 - passed uint32 0xFFFFFFFE ok 20 - passed size_t 42 ok 21 - passed ssize_t -42 ok 22 - Proxy works ok 23 - defined/undefined works after Proxy arg ok 24 - defined/undefined works after Proxy arg ok t/04-nativecall/03-simple-returns.t ............................. 1..20 ok 1 - returning int works ok 2 - returning int works ok 3 - returning negative int works ok 4 - returning negative int works ok 5 - returning short works ok 6 - returning short works ok 7 - returning negative short works ok 8 - returning negative short works ok 9 - returning char works ok 10 - returning char works ok 11 - returning double works ok 12 - returning float works ok 13 - returning string works ok 14 - returning null string pointer ok 15 - returning int64 works ok 16 - returning negative int64 works ok 17 - returning negative int64 works ok 18 - returning uint8 works ok 19 - returning uint16 works ok 20 - returning uint32 works ok t/05-messages/01-errors.t ....................................... 1..51 # Subtest: point out matching `is rw` candidates when passing non-rw 1..3 ok 1 - '1++' died ok 2 - right exception type (X::Multi::NoMatch) ok 3 - .message matches /'but require mutable arguments'/ ok 1 - point out matching `is rw` candidates when passing non-rw # Subtest: curly quotes are not called smart quotes 1..6 # Subtest: ‘ (U+2018) quote is called curly, not smart 1..3 ok 1 - '‘' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4046070000) ... } ok 1 - ‘ (U+2018) quote is called curly, not smart # Subtest: ‚ (U+201A) quote is called curly, not smart 1..3 ok 1 - '‚' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4046070560) ... } ok 2 - ‚ (U+201A) quote is called curly, not smart # Subtest: ’ (U+2019) quote is called curly, not smart 1..3 ok 1 - '’' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4046070680) ... } ok 3 - ’ (U+2019) quote is called curly, not smart # Subtest: “ (U+201C) quote is called curly, not smart 1..3 ok 1 - '“' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4046070920) ... } ok 4 - “ (U+201C) quote is called curly, not smart # Subtest: „ (U+201E) quote is called curly, not smart 1..3 ok 1 - '„' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4046071160) ... } ok 5 - „ (U+201E) quote is called curly, not smart # Subtest: ” (U+201D) quote is called curly, not smart 1..3 ok 1 - '”' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4046071280) ... } ok 6 - ” (U+201D) quote is called curly, not smart ok 2 - curly quotes are not called smart quotes # Subtest: typing "return" instead of "returns" gives a fixing hint 1..3 ok 1 - 'sub infix:<$>() return Nil {}' died ok 2 - right exception type (X::AdHoc) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4046073880) ... } ok 3 - typing "return" instead of "returns" gives a fixing hint # Subtest: .Rat.nude on non-numeric string does not reference guts in error 1..3 ok 1 - ''4x'.Rat.nude' died ok 2 - right exception type (X::Str::Numeric) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3828035168) ... } ok 4 - .Rat.nude on non-numeric string does not reference guts in error # Subtest: stub code does not reference guts when executed 1..3 ok 1 - '…' died ok 2 - right exception type (X::StubCode) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3828050696) ... } ok 5 - stub code does not reference guts when executed # Subtest: chr with large codepoints throws useful error 1..6 # Subtest: "chr 2⁶³-1" 1..3 ok 1 - 'chr 2⁶³-1' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4133796632) ... } ok 1 - "chr 2⁶³-1" # Subtest: "(2⁶³-1).chr" 1..3 ok 1 - '(2⁶³-1).chr' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4133798232) ... } ok 2 - "(2⁶³-1).chr" # Subtest: "chr 2⁶³" 1..3 ok 1 - 'chr 2⁶³' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4133799792) ... } ok 3 - "chr 2⁶³" # Subtest: "2⁶³.chr" 1..3 ok 1 - '2⁶³.chr' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4133801392) ... } ok 4 - "2⁶³.chr" # Subtest: "chr 2¹⁰⁰" 1..3 ok 1 - 'chr 2¹⁰⁰' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4133802952) ... } ok 5 - "chr 2¹⁰⁰" # Subtest: "(2¹⁰⁰).chr" 1..3 ok 1 - '(2¹⁰⁰).chr' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4134003208) ... } ok 6 - "(2¹⁰⁰).chr" ok 6 - chr with large codepoints throws useful error # Subtest: <-> does not prevent an error suggesting to use `do for` 1..3 ok 1 - 'my @a = for 1..3 <-> { $_ }' died ok 2 - right exception type (Exception) ok 3 - .message matches /«'do for'»/ ok 7 - <-> does not prevent an error suggesting to use `do for` # Subtest: making an "is rw" parameter optional dies with adequate error message and mentions the parameter name 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot use 'is rw' on optional parameter '$bar'. ok 8 - making an "is rw" parameter optional dies with adequate error message and mentions the parameter name # Subtest: making an "is rw" parameter optional dies with adequate error message and mentions the parameter name 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot use 'is rw' on optional parameter '$bar'. ok 9 - making an "is rw" parameter optional dies with adequate error message and mentions the parameter name # Subtest: a space in a literal param to a MAIN() multi makes the suggestion quoted 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 10 - a space in a literal param to a MAIN() multi makes the suggestion quoted # Subtest: a double quote in a literal param to a MAIN() multi makes the suggestion quoted 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 11 - a double quote in a literal param to a MAIN() multi makes the suggestion quoted # Subtest: a single quote in a literal param to a MAIN() multi makes the suggestion quoted 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 12 - a single quote in a literal param to a MAIN() multi makes the suggestion quoted # Subtest: The message when trying to pun a role with required methods should have the names of the child, parent, required methods, and suggest "does" 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches all(/<<'C'>>/, /<<'R'>>/, /<<'a,' \s* 'c'>>/, /<<'does'>>/) ok 13 - The message when trying to pun a role with required methods should have the names of the child, parent, required methods, and suggest "does" # Subtest: types and names shown in the exception message are correct 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches all(/Parameter/, /\W '$a'>>/, /<<'f'>>/, /<>/, /<>/, /<<'Mu'>>/, /<<'Int'>>/, /\W '.new'>>/) ok 14 - types and names shown in the exception message are correct # Subtest: types shown in the exception message are correct 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches all(/'Parameter'/, /\W '$a'>>/, /<<'f'>>/, /<>/, /<>/, /<<'Mu'>>/, /<<'Int'>>/, /<<'multi'>>/) ok 15 - types shown in the exception message are correct # Subtest: did we throws-like Exception? 1..3 ok 1 - 'X::NYI.fail' died ok 2 - right exception type (Exception) ok 3 - .message matches all(/'Invocant'/, /<<$meth>>/, /<<'must be an object instance'>>/, /<<'not a type object'>>/, /<<'Exception'>>/, /<<'X::NYI'>>/, /\W '.new'>>/) ok 16 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - 'X::NYI.die' died ok 2 - right exception type (Exception) ok 3 - .message matches all(/'Invocant'/, /<<$meth>>/, /<<'must be an object instance'>>/, /<<'not a type object'>>/, /<<'Exception'>>/, /<<'X::NYI'>>/, /\W '.new'>>/) ok 17 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - 'X::NYI.throw' died ok 2 - right exception type (Exception) ok 3 - .message matches all(/'Invocant'/, /<<$meth>>/, /<<'must be an object instance'>>/, /<<'not a type object'>>/, /<<'Exception'>>/, /<<'X::NYI'>>/, /\W '.new'>>/) ok 18 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - 'X::NYI.rethrow' died ok 2 - right exception type (Exception) ok 3 - .message matches all(/'Invocant'/, /<<$meth>>/, /<<'must be an object instance'>>/, /<<'not a type object'>>/, /<<'Exception'>>/, /<<'X::NYI'>>/, /\W '.new'>>/) ok 19 - did we throws-like Exception? # Subtest: did we throws-like Exception? 1..3 ok 1 - 'X::NYI.resume' died ok 2 - right exception type (Exception) ok 3 - .message matches all(/'Invocant'/, /<<$meth>>/, /<<'must be an object instance'>>/, /<<'not a type object'>>/, /<<'Exception'>>/, /<<'X::NYI'>>/, /\W '.new'>>/) ok 20 - did we throws-like Exception? # Subtest: sinking to a code object in a feed suggests calling the routine 1..3 ok 1 - '3 ==> &sin ==> &say' died ok 2 - right exception type (Exception) ok 3 - .message matches /<<'sin()'\W/ ok 21 - sinking to a code object in a feed suggests calling the routine # Subtest: trying to instantiate a non-class gives the name in the error 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /'cannot create' .+ «RT122232»/ ok 22 - trying to instantiate a non-class gives the name in the error # Subtest: trying to instantiate a non-class gives the name in the error 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /'cannot create' .+ «RT122232»/ ok 23 - trying to instantiate a non-class gives the name in the error # Subtest: non-ASCII digits > 7 in leading-zero-octal warning 1..2 ok 1 - STDOUT is right ok 2 - STDERR mentions the end-result is not valid octal ok 24 - non-ASCII digits > 7 in leading-zero-octal warning # Subtest: wrong arity in a signature has correct values in error message 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches all(/<<'Too many'>>/, /<<'expected 1'>>/, /<<'got 2'>>/) ok 25 - wrong arity in a signature has correct values in error message # Subtest: wrong arity in a signature has correct values in error message 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches all(/<<'Too few'>>/, /<<'expected 2'>>/, /<<'got 1'>>/) ok 26 - wrong arity in a signature has correct values in error message # Subtest: wrong arity in a sub-signature has correct values in error message 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches all(/<<'Too many'>>/, /<<'expected 1'>>/, /<<'got 2'>>/, /<<'sub-signature'>>/) ok 27 - wrong arity in a sub-signature has correct values in error message # Subtest: wrong arity in a sub-signature with a named parameter has correct values in error message 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches all(/<<'Too few'>>/, /<<'expected 2'>>/, /<<'got 1'>>/, /<<'sub-signature'>>/, /<<'parameter @bar'>>/) ok 28 - wrong arity in a sub-signature with a named parameter has correct values in error message # Subtest: wrong arity in a signature mentions the name of the sub 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /<<'foo'>>/ ok 29 - wrong arity in a signature mentions the name of the sub # Subtest: wrong arity in a signature mentions the name of the method 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /<<'foo'>>/ ok 30 - wrong arity in a signature mentions the name of the method # Subtest: .length on non-List Cool 1..3 ok 1 - '42.length ' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804982160) ... } ok 31 - .length on non-List Cool # Subtest: .length on List 1..3 ok 1 - '[].length ' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804915592) ... } ok 32 - .length on List # Subtest: .length on non-Cool 1..3 ok 1 - 'bag(1).length ' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804900104) ... } ok 33 - .length on non-Cool # Subtest: &length 1..3 ok 1 - 'length 42 ' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3805075216) ... } ok 34 - &length # Subtest: error points out only only proto is defined 1..3 ok 1 - code dies ok 2 - right exception type (X::Multi::NoMatch) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3805089792) ... } ok 35 - error points out only only proto is defined # Subtest: error points out only only proto is defined (Blob.split) 1..3 ok 1 - code dies ok 2 - right exception type (X::Multi::NoMatch) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3805090152) ... } ok 36 - error points out only only proto is defined (Blob.split) # Subtest: error points out only only proto is defined (Blob.splice) 1..3 ok 1 - code dies ok 2 - right exception type (X::Multi::NoMatch) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3805092272) ... } ok 37 - error points out only only proto is defined (Blob.splice) # Subtest: a private method of the same name as the public missing method is suggested 1..3 ok 1 - ' class RT123078_1 { method foo { self.bar }; method !bar { }; method baz { } }; RT123078_1.new.foo ' died ok 2 - right exception type (X::Method::NotFound) ok 3 - .message matches all(/<<"No such method 'bar'" \W/, /<<'RT123078_1'>>/, /\W '!bar'>>/, /<<'baz'>>/) ok 38 - a private method of the same name as the public missing method is suggested # Subtest: a public method of the same name as the missing private method is suggested 1..3 ok 1 - ' class RT123078_2 { method foo { self!bar }; method bar { }; method baz { } } ' died ok 2 - right exception type (X::Method::NotFound) ok 3 - .message matches all(/<<"No such private method '!bar'" \W/, /<<'RT123078_2'>>/, /<<'bar'>>/, /<<'baz'>>/) ok 39 - a public method of the same name as the missing private method is suggested # Subtest: a private method of the same name as the public missing method is not suggested for out-of-class call 1..4 ok 1 - ' class RT123078_3 { method !bar { }; method baz { } }; RT123078_3.new.bar ' died ok 2 - right exception type (X::Method::NotFound) ok 3 - .message matches all(/<<"No such method 'bar'" \W/, /<<'RT123078_3'>>/, /\s+ Did \s+ you \s+ mean/) ok 4 - .suggestions matches (Bag VAR baz) ok 40 - a private method of the same name as the public missing method is not suggested for out-of-class call # Subtest: potentially common misspelling gives the right suggestion 1..3 ok 1 - ' .uniq ' died ok 2 - right exception type (X::Method::NotFound) ok 3 - .message matches all(/<<"No such method 'uniq'" \W/, /<<'unique'>>/) ok 41 - potentially common misspelling gives the right suggestion # Subtest: longer method names are suggested also 1..3 ok 1 - ' ‘foo’.starts-wizh(‘f’) ' died ok 2 - right exception type (X::Method::NotFound) ok 3 - .message matches all(/<<"No such method 'starts-wizh'" \W/, /<<'starts-with'>>/) ok 42 - longer method names are suggested also # Subtest: Ancestor submethods should not be typo-suggested 1..3 ok 1 - ' class GH1758_1 { submethod x { }; }; class B is GH1758_1 {}; B.new._ ' died ok 2 - right exception type (X::Method::NotFound) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4133860352) ... } ok 43 - Ancestor submethods should not be typo-suggested # Subtest: Submethods at the same inheritance level should be typo-suggested 1..3 ok 1 - ' class GH1758_2 { submethod x { };}; GH1758_2.new._ ' died ok 2 - right exception type (X::Method::NotFound) ok 3 - .message matches /"Did you mean 'x'"/ ok 44 - Submethods at the same inheritance level should be typo-suggested # Subtest: `IO::Socket::INET.new: :listen` fails with useful error 1..3 ok 1 - got a Failure ok 2 - Failure is unhandled ok 3 - error mentions port ok 45 - `IO::Socket::INET.new: :listen` fails with useful error # Subtest: `use v5` in code does not try to load non-existent modules 1..2 ok 1 - 'use v5' died ok 2 - right exception type (X::Language::Unsupported) ok 46 - `use v5` in code does not try to load non-existent modules # Subtest: Duration.new with bad args does not reference guts 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 47 - Duration.new with bad args does not reference guts # Subtest: sane error when missing variables with my and where 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 48 - sane error when missing variables with my and where # Subtest: sane NYI error for num32 Blob 1..3 ok 1 - 'Blob[num32].new: 2e0' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4046127872) ... } ok 49 - sane NYI error for num32 Blob # Subtest: callframe.my throws sane NYI error message 1..2 ok 1 - 'callframe.callframe(1).my.raku' died ok 2 - right exception type (X::NYI) ok 50 - callframe.my throws sane NYI error message # Subtest: .new on native types works (deprecated; will die) 1..18 # Subtest: int no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804869928) ... } ok 1 - int no args # Subtest: int with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870048) ... } ok 2 - int with args # Subtest: int8 no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870088) ... } ok 3 - int8 no args # Subtest: int8 with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870128) ... } ok 4 - int8 with args # Subtest: int16 no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870168) ... } ok 5 - int16 no args # Subtest: int16 with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870208) ... } ok 6 - int16 with args # Subtest: int32 no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870248) ... } ok 7 - int32 no args # Subtest: int32 with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870288) ... } ok 8 - int32 with args # Subtest: int64 no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870328) ... } ok 9 - int64 no args # Subtest: int64 with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870368) ... } ok 10 - int64 with args # Subtest: num no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870408) ... } ok 11 - num no args # Subtest: num with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870448) ... } ok 12 - num with args # Subtest: num32 no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870488) ... } ok 13 - num32 no args # Subtest: num32 with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870528) ... } ok 14 - num32 with args # Subtest: num64 no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870568) ... } ok 15 - num64 no args # Subtest: num64 with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870608) ... } ok 16 - num64 with args # Subtest: str no args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870648) ... } ok 17 - str no args # Subtest: str with args 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3804870688) ... } ok 18 - str with args ok 51 - .new on native types works (deprecated; will die) ok t/04-nativecall/04-pointers.t ................................... 1..31 ok 1 - Got passed back the pointer I returned ok 2 - Non-NULL pointer is trueish ok 3 - Calling .Int on non-NULL pointer is trueish ok 4 - Calling prefix:<+> on non-NULL pointer is trueish ok 5 - Pointer roundtrips okay using .raku and EVAL ok 6 - Numerical value of Pointer.new is 0 ok 7 - Pointer.new(0) has 0 numerical value ok 8 - Pointer.new(1234) has numerical value 1234 ok 9 - Pointer.new accepts a native int too ok 10 - A returned NULL pointer is the Pointer type object itself ok 11 - typed pointer deref method ok 12 - typed pointer array dereference ok 13 - typed pointer increment ok 14 - .add(-1) ok 15 - typed pointer incremented (1) ok 16 - typed pointer incremented (2) ok 17 - typed pointer decrement ok 18 - typed pointer incremented (1) ok 19 - typed pointer incremented (2) ok 20 - .add(2) ok 21 - Signature matching with Pointer[int32] works ok 22 - Signature matching with CArray[Int] works ok 23 - Numerifying Pointer class works ok 24 - a Pointer:D native return type works ok 25 - a repr(CPointer) class `--> ::?CLASS:D` native return works # Subtest: a NULL return violating --> Pointer:D throws 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Return) ok 26 - a NULL return violating --> Pointer:D throws # Subtest: a NULL return violating a CPointer class :D return type throws 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Return) ok 27 - a NULL return violating a CPointer class :D return type throws ok 28 - a concrete argument satisfies a Pointer:D parameter # Subtest: a type object violating a Pointer:D parameter throws 1..2 ok 1 - code dies ok 2 - right exception type (X::Parameter::InvalidConcreteness) ok 29 - a type object violating a Pointer:D parameter throws # Subtest: an undefined value in a container violating a Pointer:D parameter throws 1..2 ok 1 - code dies ok 2 - right exception type (X::Parameter::InvalidConcreteness) ok 30 - an undefined value in a container violating a Pointer:D parameter throws # Subtest: a concrete argument violating a Pointer:U parameter throws 1..2 ok 1 - code dies ok 2 - right exception type (X::Parameter::InvalidConcreteness) ok 31 - a concrete argument violating a Pointer:U parameter throws ok t/04-nativecall/11-cpp.t ........................................ 1..22 ok 1 - sizeof(Derived1) ok 2 - can instantiate C++ class ok 3 - can instantiate the same C++ class again using « .= » ok 4 - can read attribute foo ok 5 - can read attribute bar ok 6 - can read attribute baz ok 7 - can read attribute cx ok 8 - can read attribute cy ok 9 - can read attribute c ok 10 - sizeof(Derived2) ok 11 - can instantiate C++ class with vtable ok 12 - can read attribute foo ok 13 - can read attribute bar ok 14 - can read attribute baz ok 15 - can read attribute cx ok 16 - can read attribute cy ok 17 - can read attribute c ok 18 - can read typed pointer attribute ok 19 - can pass arguments to method ok 20 - name mangling of parameter `const int` ok 21 - name mangling of parameter `int *` ok 22 - name mangling of parameter `const int *` ok t/02-rakudo/role-whatever-param-precomp.t ....................... 1..4 # Subtest: WhateverCode role argument (max) 1..3 ok 1 - exits cleanly ok 2 - no outer frame mismatch ok 3 - produces the expected result ok 1 - WhateverCode role argument (max) # Subtest: WhateverCode role argument (min) 1..3 ok 1 - exits cleanly ok 2 - no outer frame mismatch ok 3 - produces the expected result ok 2 - WhateverCode role argument (min) # Subtest: the role default WhateverCode still works 1..3 ok 1 - exits cleanly ok 2 - no outer frame mismatch ok 3 - produces the expected result ok 3 - the role default WhateverCode still works # Subtest: a compile-time argument alongside a WhateverCode 1..3 ok 1 - exits cleanly ok 2 - no outer frame mismatch ok 3 - produces the expected result ok 4 - a compile-time argument alongside a WhateverCode ok t/04-nativecall/12-sizeof.t ..................................... 1..17 ok 1 - sizeof(Foo) ok 2 - sizeof(Bar) ok 3 - sizeof(Baz) ok 4 - sizeof(Buz) ok 5 - sizeof(int) ok 6 - sizeof(long) ok 7 - sizeof(Pointer) ok 8 - sizeof(bool) ok 9 - sizeof(size_t) ok 10 - sizeof(foo1) ok 11 - sizeof(foo2) ok 12 - sizeof(foo3) ok 13 - sizeof(foo4) ok 14 - sizeof(foo5) ok 15 - sizeof(foo6) ok 16 - sizeof(foo7) ok 17 - sizeof(foo8) ok t/12-rakuast/meta-operators.rakutest ............................ 1..14 # Subtest: Negate meta-op evaluates to expected value # 1 !== 2 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - Negate meta-op evaluates to expected value # Subtest: Assignment meta-op evaluates to expected value # $a += 3 ok 1 - deparse ok 2 - AST: evaluates to expected value ok 3 - AST: Really did mutate the variable ok 4 - Str: evaluates to expected value ok 5 - Str: Really did mutate the variable ok 6 - Raku: evaluates to expected value ok 7 - Raku: Really did mutate the variable 1..7 ok 2 - Assignment meta-op evaluates to expected value # Subtest: Reverse meta-op evaluates to expected value # 42 R- 666 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Reverse meta-op evaluates to expected value # Subtest: Cross meta-op evaluates to expected value # (1, 2) X+ (1, 3) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Cross meta-op evaluates to expected value # Subtest: Hyper meta-op evaluates to expected value # (1, 2) >>+>> 1 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Hyper meta-op evaluates to expected value # Subtest: Hypering evaluates to expected value # >>.uc ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Hypering evaluates to expected value # Subtest: Zip meta-op evaluates to expected value # (1, 2) Z== (1, 3) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - Zip meta-op evaluates to expected value # Subtest: Assignment meta-op with short-circuit || evaluates to true LHS # $test ||= $update++ ok 1 - deparse ok 2 - AST: short-circuit || evaluates to true LHS ok 3 - AST: Really did short-circuit, and not evaluate RHS ok 4 - Str: short-circuit || evaluates to true LHS ok 5 - Str: Really did short-circuit, and not evaluate RHS ok 6 - Raku: short-circuit || evaluates to true LHS ok 7 - Raku: Really did short-circuit, and not evaluate RHS ok 8 - Str: short-circuit || evaluates to true LHS ok 9 - Str: Really did short-circuit, and not evaluate RHS ok 10 - AST: no short-circuit || evaluates to RHS when LHS false ok 11 - AST: Really did evaluate RHS ok 12 - Str: no short-circuit || evaluates to RHS when LHS false ok 13 - Str: Really did evaluate RHS ok 14 - Raku: no short-circuit || evaluates to RHS when LHS false ok 15 - Raku: Really did evaluate RHS 1..15 ok 8 - Assignment meta-op with short-circuit || evaluates to true LHS # Subtest: Literal reduce meta-op on left associative operator # [+] 1, 2, 3 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 9 - Literal reduce meta-op on left associative operator # Subtest: Array reduce meta-op on left associative operator # [+] @a ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 10 - Array reduce meta-op on left associative operator # Subtest: Triangle reduce meta-op on left associative operator # [\+] 1, 2, 3 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 11 - Triangle reduce meta-op on left associative operator # Subtest: Zip+Assign meta-op assigns elementwise to LHS # @a Z+= (10, 20, 30) ok 1 - deparse ok 2 - AST: did mutate the array ok 3 - Str: did mutate the array ok 4 - Raku: did mutate the array 1..4 ok 12 - Zip+Assign meta-op assigns elementwise to LHS # Subtest: Cross+Assign meta-op assigns the cross to LHS # @a X+= (10, 20) ok 1 - deparse ok 2 - AST: did mutate the array 1..2 ok 13 - Cross+Assign meta-op assigns the cross to LHS # Subtest: Hyper+Assign meta-op assigns elementwise to LHS # @a <<+>>= (10, 20, 30) ok 1 - deparse ok 2 - AST: did mutate the array ok 3 - Str: did mutate the array ok 4 - Raku: did mutate the array 1..4 ok 14 - Hyper+Assign meta-op assigns elementwise to LHS ok t/09-moar/01-profilers.t ........................................ 1..12 # Subtest: can launch with profiling requested 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - can launch with profiling requested ok 2 - profiler html output file exists on disk ok 3 - profiler html output file isn't tiny # Subtest: can launch with profiling requested 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - can launch with profiling requested ok 5 - profiler json output file exists on disk ok 6 - profiler json output file isn't tiny # Subtest: can launch with profiling requested 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - can launch with profiling requested ok 8 - profiler sql output file exists on disk ok 9 - profiler sql output file isn't tiny # Subtest: can launch with profiling requested 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 10 - can launch with profiling requested ok 11 - profiler heap output file exists on disk ok 12 - profiler heap output file isn't tiny ok t/04-nativecall/13-cpp-mangling.t ............................... 1..26 ok 1 - void mangling ok 2 - bool mangling ok 3 - char mangling ok 4 - short mangling ok 5 - int mangling ok 6 - long mangling ok 7 - long long mangling ok 8 - float mangling ok 9 - double mangling ok 10 - string mangling ok 11 - CArray mangling ok 12 - Pointer mangling ok 13 - bool* mangling ok 14 - char* mangling ok 15 - short* mangling ok 16 - int* mangling ok 17 - long* mangling ok 18 - long long* mangling ok 19 - float* mangling ok 20 - double* mangling ok 21 - uint mangling ok 22 - ushort mangling ok 23 - uchar mangling ok 24 - int64 mangling ok 25 - unsigned long long mangling ok 26 - uint64 mangling ok t/04-nativecall/15-rw-args.t .................................... 1..24 ok 1 - Raku's rw variable was set by C (char) ok 2 - Raku's rw variable was passed and returned by C (char) ok 3 - Raku's rw variable was set by C (short) ok 4 - Raku's rw variable was passed and returned by C (short) ok 5 - Raku's rw variable was set by C (long) ok 6 - Raku's rw variable was passed and returned by C (long) ok 7 - Raku's rw variable was set by C (long long) ok 8 - Raku's rw variable was passed and returned by C (longlong) ok 9 - Raku's rw variable was set by C (float) ok 10 - Raku's rw variable was passed and returned by C (float) ok 11 - Raku's rw variable was set by C (double) ok 12 - Raku's rw variable was passed and returned by C (double) ok 13 - Raku's rw variable was set by C (unsigned char) ok 14 - Raku's rw variable was passed and returned by C (unsigned char) ok 15 - Raku's rw variable was set by C (unsigned short) ok 16 - Raku's rw variable was passed and returned by C (unsigned short) ok 17 - Raku's rw variable was set by C (unsigned long) ok 18 - Raku's rw variable was passed and returned by C (unsigned long) ok 19 - Raku's rw variable was set by C (unsigned long long) ok 20 - Raku's rw variable was passed and returned by C (unsigned long long) ok 21 - Raku's rw variable was set by C (size_t) ok 22 - Raku's rw variable was passed and returned by C (size_t) ok 23 - Can pass an instantiated pointer with rw-trait to C ok 24 - Raku's rw variable was set by C (pointer) ok t/04-nativecall/13-union.t ...................................... 1..28 ok 1 - sizeof union is sizeof biggest member ok 2 - sizeof(MyStruct) ok 3 - getting long ok 4 - getting num ok 5 - getting int8 ok 6 - getting num32 ok 7 - getting long from C-created struct ok 8 - getting num from C-created struct ok 9 - getting int8 from C-created struct ok 10 - getting num32 from C-created struct ok 11 - long in union ok 12 - int in union ok 13 - short in union ok 14 - char in union ok 15 - sizeof(MyStruct2) ok 16 - getting long from C-created struct ok 17 - getting num from C-created struct ok 18 - getting int8 from C-created struct ok 19 - getting num32 from C-created struct ok 20 - long in union* ok 21 - int in union* ok 22 - short in union* ok 23 - char in union* ok 24 - sizeof(UnionOfStructs) ok 25 - member a of union is-a MyStruct ok 26 - member b of union is-a YourStruct ok 27 - a.byte was set to 42 by C ok 28 - b.byte must be the same ok t/12-rakuast/role.rakutest ...................................... 1..6 # Subtest: creating an empty role # my role Frobnicator { } ok 1 - deparse ok 2 - AST: role gets correct name ok 3 - AST: does the role auto-pun ok 4 - AST: class gets correct name ok 5 - AST: can it be instantiated ok 6 - AST: did the role get consumed ok 7 - Str: role gets correct name ok 8 - Str: does the role auto-pun ok 9 - Str: class gets correct name ok 10 - Str: can it be instantiated not ok 11 - Str: did the role get consumed # TODO needs work on consuming the role # Failed test 'Str: did the role get consumed' # at t/12-rakuast/role.rakutest line 41 # Type: Zippo doesn't do role Frobnicator ok 12 - Raku: role gets correct name ok 13 - Raku: does the role auto-pun ok 14 - Raku: class gets correct name ok 15 - Raku: can it be instantiated not ok 16 - Raku: did the role get consumed # TODO needs work on consuming the role # Failed test 'Raku: did the role get consumed' # at t/12-rakuast/role.rakutest line 41 # Type: Zippo doesn't do role Frobnicator 1..16 ok 1 - creating an empty role # Subtest: creating a role with an attribute # my role A { # has $.a = 42 # } ok 1 - deparse ok 2 - Str: role gets correct name ok 3 - Str: does the role auto-pun (1) ok 4 - Str: did the attribute get initialized (1) ok 5 - Str: does the role auto-pun (2) ok 6 - Str: did the attribute get initialized (2) 1..6 ok 2 - creating a role with an attribute # Subtest: creating a role that does another role # my role B does Positional { } ok 1 - deparse ok 2 - AST: role gets correct name ok 3 - AST: can we see the roles it does ok 4 - AST: does the role auto-pun ok 5 - Str: role gets correct name ok 6 - Str: can we see the roles it does ok 7 - Str: does the role auto-pun ok 8 - Raku: role gets correct name ok 9 - Raku: can we see the roles it does ok 10 - Raku: does the role auto-pun 1..10 ok 3 - creating a role that does another role # Subtest: creating a role that does a parameterized role # my role C does Rational[Int, Int] { } ok 1 - deparse ok 2 - AST: role gets correct name ok 3 - AST: can we see the roles it does ok 4 - AST: does the role auto-pun ok 5 - AST: did we get a rational 0 ok 6 - AST: did we get a rational 1 ok 7 - AST: did we get a rational 1/3 ok 8 - Str: role gets correct name ok 9 - Str: can we see the roles it does ok 10 - Str: does the role auto-pun ok 11 - Str: did we get a rational 0 ok 12 - Str: did we get a rational 1 ok 13 - Str: did we get a rational 1/3 ok 14 - Raku: role gets correct name ok 15 - Raku: can we see the roles it does ok 16 - Raku: does the role auto-pun ok 17 - Raku: did we get a rational 0 ok 18 - Raku: did we get a rational 1 ok 19 - Raku: did we get a rational 1/3 1..19 ok 4 - creating a role that does a parameterized role # Subtest: creating a parameterized role # my role D[$a = 42] { # method a { # $a # } # } ok 1 - deparse ok 2 - Str: role gets correct name ok 3 - Str: can we see the roles it does ok 4 - Str: does the role auto-pun (1) ok 5 - Str: did the default value get set ok 6 - Str: does the role auto-pun (2) ok 7 - Str: did the value get set 1..7 ok 5 - creating a parameterized role # Subtest: creating a parameterized role with a type capture # my role E[::T = Str] { # method a (T:D $a) { # $a # } # } ok 1 - deparse ok 2 - Str: role gets correct name ok 3 - Str: can we see the roles it does ok 4 - Str: does the role auto-pun (1) ok 5 - Str: value returned (1) ok 6 - Str: does uninstantiated type die (1) # TODO :D not yet being applied in type check ok 7 - Str: does incorrect type die (1) ok 8 - Str: does the role auto-pun (2) ok 9 - Str: value returned (2) ok 10 - Str: does uninstantiated type die (2) # TODO :D not yet being applied in type check ok 11 - Str: does incorrect type die (2) 1..11 ok 6 - creating a parameterized role with a type capture ok t/08-performance/28-rakuast-metaop-hoist.t ...................... 1..55 ok 1 - # SKIP the formation shapes are specific to the RakuAST frontend ok 2 - # SKIP the formation shapes are specific to the RakuAST frontend ok 3 - # SKIP the formation shapes are specific to the RakuAST frontend ok 4 - # SKIP the formation shapes are specific to the RakuAST frontend ok 5 - # SKIP the formation shapes are specific to the RakuAST frontend ok 6 - # SKIP the formation shapes are specific to the RakuAST frontend ok 7 - # SKIP the formation shapes are specific to the RakuAST frontend ok 8 - # SKIP the formation shapes are specific to the RakuAST frontend ok 9 - # SKIP the formation shapes are specific to the RakuAST frontend ok 10 - # SKIP the formation shapes are specific to the RakuAST frontend ok 11 - # SKIP the formation shapes are specific to the RakuAST frontend ok 12 - a zip of a setting operator computes through its constant meta-op ok 13 - a cross of a setting operator computes through its constant meta-op ok 14 - a hyper of a setting operator computes through its constant meta-op ok 15 - a negated setting comparison holds through its constant meta-op ok 16 - a negated setting comparison fails where the comparison holds ok 17 - a chain of negated comparisons holds through its links ok 18 - a chain of negated comparisons fails on a failing link ok 19 - a chain mixing negated and plain comparisons holds ok 20 - a negated comparison autothreads a Junction argument ok 21 - a negated comparison over an all Junction collapses correctly ok 22 - a negated ordering comparison fails where the ordering holds ok 23 - a negated chain with a call in the middle holds ok 24 - the middle operand of a negated chain runs once ok 25 - a negated user chaining operator holds where the comparison fails ok 26 - a curried negated comparison fails on the negated value ok 27 - a curried negated comparison holds elsewhere ok 28 - # SKIP the legacy frontend chains through a parenthesized negation ok 29 - a chain reduce of a negated comparison fails on a failing link ok 30 - a smartmatch of a type declines to collapse over a negated link ok 31 - a negated smartmatch of a type declines to collapse over a negated link ok 32 - a smartmatch of a literal declines to collapse over a negated link ok 33 - a smartmatch of a pair declines to collapse over a negated link ok 34 - # SKIP the sequenced comparison does not run under the legacy frontend ok 35 - # SKIP the sequenced comparison does not run under the legacy frontend ok 36 - a reversed setting operator swaps its operands ok 37 - a zip building pairs computes through its constant meta-op ok 38 - a reversed comma builds its list through its constant meta-op ok 39 - a zip of a lexical operator computes through its formed meta-op ok 40 - a right dwim hyper extends the shorter side through its constant meta-op ok 41 - a left dwim hyper truncates to the fixed side through its constant meta-op ok 42 - a non dwim hyper still dies on lists of different lengths ok 43 - a zip of a reversal computes through its constant reversal ok 44 - a reversal of a negation compares correctly ok 45 - a zip assign computes through its constant operator ok 46 - a max assign computes through its constant operator ok 47 - a wrap of a setting operator shows through its constant meta-op ok 48 - an unwrap of a setting operator shows through its constant meta-op ok 49 - a zip of a thunky operator computes through its constant meta-op ok 50 - # SKIP the callable meta-op forms do not compile under the legacy frontend ok 51 - # SKIP the callable meta-op forms do not compile under the legacy frontend ok 52 - # SKIP the callable meta-op forms do not compile under the legacy frontend ok 53 - # SKIP the callable meta-op forms do not compile under the legacy frontend ok 54 - a module using constant meta-ops compiles ok 55 - a module using constant meta-ops loads from the precompilation store ok t/04-nativecall/06-struct.t ..................................... 1..35 ok 1 - getting long ok 2 - getting num ok 3 - getting int8 ok 4 - getting num32 ok 5 - getting CArray and element ok 6 - getting long from C-created struct ok 7 - getting num from C-created struct ok 8 - getting int8 from C-created struct ok 9 - getting num32 from C-created struct ok 10 - C-created array member, elem 1 ok 11 - C-created array member, elem 2 ok 12 - C-created array member, elem 3 ok 13 - field 1 from struct 1 in struct ok 14 - field 2 from struct 1 in struct ok 15 - field 1 from struct 2 in struct ok 16 - field 2 from struct 2 in struct ok 17 - CPointer object in struct ok 18 - first string in struct ok 19 - second string in struct ok 20 - C-side values in struct ok 21 - Setting a CArray struct element to type object passes a NULL to C ok 22 - C-side values in struct struct ok 23 - C-side strict values in struct ok 24 - and the int after is 42 ok 25 - nested first is 101 ok 26 - nested second is 77 ok 27 - struct with inlined structs has correct size # Subtest: did we throws-like Exception? 1..3 ok 1 - 'class EmptyCStructTest is repr { };' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4138058008) ... } ok 28 - did we throws-like Exception? ok 29 - Can inline fixed sizes array (1) ok 30 - Can inline fixed sizes array (2) ok 31 - Can inline fixed sizes array (3) ok 32 - Can inline fixed sizes array (4) ok 33 - Can inline fixed sizes array (5) ok 34 - Can inline fixed sizes array (6) ok 35 - did we get unsigned value ok t/12-rakuast/class.rakutest ..................................... 1..15 # Subtest: Create an empty class # my class MyTestClass { } ok 1 - deparse ok 2 - AST: Class evaluates to a type object ok 3 - AST: Correct class name ok 4 - AST: Correct representation ok 5 - Str: Class evaluates to a type object ok 6 - Str: Correct class name ok 7 - Str: Correct representation ok 8 - Raku: Class evaluates to a type object ok 9 - Raku: Correct class name ok 10 - Raku: Correct representation 1..10 ok 1 - Create an empty class # Subtest: Create a class with a method # my class TestClassWithMethods { # method test-meth { # 456 # } # } ok 1 - deparse ok 2 - AST: Class with method evaluates to a type object ok 3 - AST: Correct class name ok 4 - AST: The class has a test-meth method ok 5 - AST: Can call method without signature and get expected value ok 6 - Str: Class with method evaluates to a type object ok 7 - Str: Correct class name ok 8 - Str: The class has a test-meth method ok 9 - Str: Can call method without signature and get expected value ok 10 - Raku: Class with method evaluates to a type object ok 11 - Raku: Correct class name ok 12 - Raku: The class has a test-meth method ok 13 - Raku: Can call method without signature and get expected value 1..13 ok 2 - Create a class with a method # Subtest: Create a class with a submethod # my class TestClassWithSubmethods { # submethod test-submeth { # 137 # } # } ok 1 - deparse ok 2 - AST: Class with method evaluates to a type object ok 3 - AST: Correct class name ok 4 - AST: The class has a test-submeth method ok 5 - AST: Can call method without signature and get expected value ok 6 - Str: Class with method evaluates to a type object ok 7 - Str: Correct class name ok 8 - Str: The class has a test-submeth method ok 9 - Str: Can call method without signature and get expected value ok 10 - Raku: Class with method evaluates to a type object ok 11 - Raku: Correct class name ok 12 - Raku: The class has a test-submeth method ok 13 - Raku: Can call method without signature and get expected value 1..13 ok 3 - Create a class with a submethod # Subtest: Check lexically resolving of a class # my class LexicalTestClass { } # LexicalTestClass ok 1 - deparse ok 2 - AST: Got type object back from looking up package ok 3 - AST: Resolved lexically to the correct class ok 4 - AST: Was not installed globally ok 5 - Str: Got type object back from looking up package ok 6 - Str: Resolved lexically to the correct class ok 7 - Str: Was not installed globally ok 8 - Raku: Got type object back from looking up package ok 9 - Raku: Resolved lexically to the correct class ok 10 - Raku: Was not installed globally 1..10 ok 4 - Check lexically resolving of a class # Subtest: Check globally resolving of a class # class OurTestClassAST { } # OurTestClassAST ok 1 - deparse ok 2 - Got type object back from looking up our-scoped package ok 3 - Resolved to the correct class ok 4 - Was installed globally ok 5 - Correct thing installed # class OurTestClassStr { } # OurTestClassStr ok 6 - deparse ok 7 - Got type object back from looking up our-scoped package ok 8 - Resolved to the correct class ok 9 - Was installed globally ok 10 - Correct thing installed # class OurTestClassRaku { } # OurTestClassRaku ok 11 - deparse ok 12 - Got type object back from looking up our-scoped package ok 13 - Resolved to the correct class ok 14 - Was installed globally ok 15 - Correct thing installed 1..15 ok 5 - Check globally resolving of a class # Subtest: our class inside an enclosing module # class OurEnclosedClassAST { } # OurEnclosedClassAST ok 1 - deparse ok 2 - AST: EVAL of package AST inside a module works # TODO bug in enclosed package naming ok 3 - AST: Was not installed globally ok 4 - AST: Was installed in the current package ok 5 - AST: Correct thing installed # class OurEnclosedClassStr { } # OurEnclosedClassStr ok 6 - deparse ok 7 - Str: EVAL of package AST inside a module works ok 8 - Str: Was not installed globally ok 9 - Str: Was installed in the current package ok 10 - Str: Correct thing installed # class OurEnclosedClassRaku { } # OurEnclosedClassRaku ok 11 - deparse ok 12 - Raku: EVAL of package AST inside a module works ok 13 - Raku: Was not installed globally ok 14 - Raku: Was installed in the current package ok 15 - Raku: Correct thing installed 1..15 ok 6 - our class inside an enclosing module # Subtest: class with attribute # my class TestClassWithAttribute { # has $!foo # } ok 1 - deparse ok 2 - AST: Class with attribute evluates to a type object ok 3 - AST: Correct class name ok 4 - AST: Class has one attribute ok 5 - AST: Correct attribute name ok 6 - AST: Correct (default) type ok 7 - AST: Correctly claims to have no accessor ok 8 - AST: No accessor method was generated ok 9 - Str: Class with attribute evluates to a type object ok 10 - Str: Correct class name ok 11 - Str: Class has one attribute ok 12 - Str: Correct attribute name ok 13 - Str: Correct (default) type ok 14 - Str: Correctly claims to have no accessor ok 15 - Str: No accessor method was generated ok 16 - Raku: Class with attribute evluates to a type object ok 17 - Raku: Correct class name ok 18 - Raku: Class has one attribute ok 19 - Raku: Correct attribute name ok 20 - Raku: Correct (default) type ok 21 - Raku: Correctly claims to have no accessor ok 22 - Raku: No accessor method was generated 1..22 ok 7 - class with attribute # Subtest: class with attribute and accessor # my class TestClassWithAttributeAccessor { # has Int $.foo # } ok 1 - deparse ok 2 - AST: Class with attribute with accessor evluates to a type object ok 3 - AST: Correct class name ok 4 - AST: Class has one attribute ok 5 - AST: Correct attribute name ok 6 - AST: Correct type constraint ok 7 - AST: Correctly claims to have an accessor ok 8 - AST: Seems like an accessor method was generated ok 9 - AST: Accessor and default constructor work fine ok 10 - Str: Class with attribute with accessor evluates to a type object ok 11 - Str: Correct class name ok 12 - Str: Class has one attribute ok 13 - Str: Correct attribute name ok 14 - Str: Correct type constraint ok 15 - Str: Correctly claims to have an accessor ok 16 - Str: Seems like an accessor method was generated ok 17 - Str: Accessor and default constructor work fine ok 18 - Raku: Class with attribute with accessor evluates to a type object ok 19 - Raku: Correct class name ok 20 - Raku: Class has one attribute ok 21 - Raku: Correct attribute name ok 22 - Raku: Correct type constraint ok 23 - Raku: Correctly claims to have an accessor ok 24 - Raku: Seems like an accessor method was generated ok 25 - Raku: Accessor and default constructor work fine 1..25 ok 8 - class with attribute and accessor # Subtest: class with accessor usage # my class TestClassWithAttributeUsage { # has Int $.bar; # method test-meth { # $!bar # } # method test-accessor { # $.bar # } # } ok 1 - deparse ok 2 - AST: Class with accessor usage evaluates to a type object ok 3 - AST: Correct class name ok 4 - AST: Attribute access compiles correctly ok 5 - Str: Class with accessor usage evaluates to a type object ok 6 - Str: Correct class name ok 7 - Str: Attribute access compiles correctly ok 8 - Raku: Class with accessor usage evaluates to a type object ok 9 - Raku: Correct class name ok 10 - Raku: Attribute access compiles correctly 1..10 ok 9 - class with accessor usage # Subtest: class with method as accessor # my class TestClassMethodAsAccessor { # method looks-like-accessor ($a, $b) { # $a + $b # } # method foo { # $.looks-like-accessor(42, 666) # } # } ok 1 - deparse ok 2 - AST: Class with method as accessor evaluates to a type object ok 3 - AST: Correct class name ok 4 - AST: accessor compiles correctly ok 5 - Str: Class with method as accessor evaluates to a type object ok 6 - Str: Correct class name ok 7 - Str: accessor compiles correctly ok 8 - Raku: Class with method as accessor evaluates to a type object ok 9 - Raku: Correct class name ok 10 - Raku: accessor compiles correctly 1..10 ok 10 - class with method as accessor # Subtest: class with does trait really does the role # my class TestRoleTarget does TestRole { } ok 1 - deparse ok 2 - AST: Class with does trait gets correct name ok 3 - AST: Class with does trait does the role ok 4 - AST: The role method can be called ok 5 - Str: Class with does trait gets correct name ok 6 - Str: Class with does trait does the role ok 7 - Str: The role method can be called ok 8 - Raku: Class with does trait gets correct name ok 9 - Raku: Class with does trait does the role ok 10 - Raku: The role method can be called 1..10 ok 11 - class with does trait really does the role # Subtest: class with is trait really inherits # my class TestChild is TestBase { } ok 1 - deparse ok 2 - AST: Class with is trait gets correct name ok 3 - AST: Class with is trait inherits the base class ok 4 - AST: A base class method can be called ok 5 - Str: Class with is trait gets correct name ok 6 - Str: Class with is trait inherits the base class ok 7 - Str: A base class method can be called ok 8 - Raku: Class with is trait gets correct name ok 9 - Raku: Class with is trait inherits the base class ok 10 - Raku: A base class method can be called 1..10 ok 12 - class with is trait really inherits # Subtest: class that hides Any # my class HidesAny hides Any { # method list { # nextsame() # } # } ok 1 - deparse ok 2 - AST: Class with hides trait gets correct name ok 3 - AST: Calling .list will not dispatch to Any.list ok 4 - Str: Class with hides trait gets correct name ok 5 - Str: Calling .list will not dispatch to Any.list ok 6 - Raku: Class with hides trait gets correct name ok 7 - Raku: Calling .list will not dispatch to Any.list 1..7 ok 13 - class that hides Any # Subtest: unit scoped class # #| leading # unit class Goo; #= trailing # method goo { # 42 # } ok 1 - deparse ok 2 - AST: unit scoped class is returned ok 3 - AST: Calling .goo works 1..3 ok 14 - unit scoped class # Subtest: Multi-part class name matching enclosing package does not redeclare (rakudo#5854) # module GH5854AST::Outer { # class GH5854AST::Outer { # method x { # 42 # } # } # } ok 1 - deparse ok 2 - AST: enclosing module is not overwritten ok 3 - AST: inner class is installed with full nested name ok 4 - AST: inner class method is callable # module GH5854Str::Outer { # class GH5854Str::Outer { # method x { # 42 # } # } # } ok 5 - deparse ok 6 - Str: enclosing module is not overwritten ok 7 - Str: inner class is installed with full nested name ok 8 - Str: inner class method is callable # module GH5854Raku::Outer { # class GH5854Raku::Outer { # method x { # 42 # } # } # } ok 9 - deparse ok 10 - Raku: enclosing module is not overwritten ok 11 - Raku: inner class is installed with full nested name ok 12 - Raku: inner class method is callable 1..12 ok 15 - Multi-part class name matching enclosing package does not redeclare (rakudo \#5854) ok t/13-experimental/will-complain.rakutest ........................ 1..8 # Subtest: Enum 1..2 ok 1 - doesn't fire when there is no error # Subtest: activated upon failed type check 1..3 ok 1 - 'my FOO $foo; $foo = 0;' died ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .message matches /'need something FOO-ish, got 0'/ ok 2 - activated upon failed type check ok 1 - Enum # Subtest: Custom class 1..2 ok 1 - doesn't fire when there is no error # Subtest: activated upon failed type check 1..3 ok 1 - 'my Bar $bar; $bar = 0;' died ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .message matches /'need something Bar-like, got 0'/ ok 2 - activated upon failed type check ok 2 - Custom class # Subtest: Parameter 1..2 ok 1 - doesn't fire when there is no error # Subtest: activated upon failed type check 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding) ok 3 - .message matches /"the first argument must be a string with 'foo'"/ ok 2 - activated upon failed type check ok 3 - Parameter # Subtest: Subset 1..2 ok 1 - doesn't fire when there is no error # Subtest: activated upon failed type check 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .message matches /'only non-zero positive integers, not -1'/ ok 2 - activated upon failed type check ok 4 - Subset # Subtest: Variable 1..2 ok 1 - doesn't fire when there is no error # Subtest: activated upon failed type check 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .message matches /'gimme a string, not Int'/ ok 2 - activated upon failed type check ok 5 - Variable # Subtest: Attribute 1..2 ok 1 - doesn't fire when there is no error # Subtest: activated upon failed type check 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .message matches /"you offer me 4.2, but with all the respect: an integer, please!"/ ok 2 - activated upon failed type check ok 6 - Attribute # Subtest: Hash 1..2 ok 1 - doesn't fire when there is no error # Subtest: activated upon failed type check 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .message matches /'hash values are to be strings, not Num'/ ok 2 - activated upon failed type check ok 7 - Hash # Subtest: Array 1..2 ok 1 - doesn't fire when there is no error # Subtest: activated upon failed type check 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .message matches /'this array is all about integers, not Num'/ ok 2 - activated upon failed type check ok 8 - Array ok t/09-moar/General_Category__UnicodeData__2.t .................... ok 1 - Property: General_Category from file: UnicodeData.txt (Correct: 40575 Wrong: 0) 1..1 ok t/12-rakuast/eval.rakutest ...................................... 1..7 # Subtest: precompiling a module returning a Str.AST.EVAL Sub from BEGIN works 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - precompiling a module returning a Str.AST.EVAL Sub from BEGIN works ok 2 - multis declared inside .AST.EVAL dispatch ok 3 - an .AST tree declaring a multi EVALs ok 4 - the same .AST tree EVALs a second time ok 5 - require inside .AST.EVAL works ok 6 - require with import inside .AST.EVAL works # Subtest: precompiling a module returning a Str.AST.EVAL multi from BEGIN works 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - precompiling a module returning a Str.AST.EVAL multi from BEGIN works ok t/04-nativecall/05-arrays.t ..................................... 1..48 ok 1 - returning double array (1) ok 2 - returning double array (2) ok 3 - returning double array (3) ok 4 - passing double array ok 5 - returning string array (1) ok 6 - returning string array (2) ok 7 - passing string array ok 8 - getting last element of managed array ok 9 - getting uninitialized element in managed array ok 10 - CArray.elems works (int) ok 11 - .new with values creates an array containing those values (int) - 1 ok 12 - .new with values creates an array containing those values (int) - 2 ok 13 - .new with values creates an array containing those values (int) - 3 ok 14 - .new with values creates an array containing those values (int) - 4 ok 15 - CArray.elems works (num) ok 16 - .new with values creates an array containing those values (num) - 1 ok 17 - .new with values creates an array containing those values (num) - 2 ok 18 - .new with values creates an array containing those values (num) - 3 ok 19 - .new with values creates an array containing those values (num) - 4 ok 20 - long in struct in element 0 ok 21 - long in struct in element 1 ok 22 - long in struct in element 2 ok 23 - out-of-bounds access on managed array ok 24 - struct in position 0..2, C-side ok 25 - Setting a type object in the array passes a NULL to the C side ok 26 - byte in element 0 ok 27 - byte in element 1 ok 28 - byte in element 2 ok 29 - byte in position 0..2, C-side ok 30 - byte in position 0..2, C-side ok 31 - float in element 0 ok 32 - float in element 1 ok 33 - float in element 2 ok 34 - sum of float array ok 35 - creating CArray with no arguments works ok 36 - creating CArray with () as argument does not hang ok 37 - creating CArray with several positionals works ok 38 - creating CArray with one Positional positional works ok 39 - unsigned uint8 value ok 40 - native int as index to CArray does not crash ok 41 - CArray.^shortname shows sane value # Subtest: CArray allocation 1..3 ok 1 - Allocation works with Int typed CArray ok 2 - Allocation works with Num typed CArray ok 3 - Allocation works with miscellaneously typed CArray ok 42 - CArray allocation ok 43 - can we build with a CArray attribute ok 44 - can we create a Buf from a CArray ok 45 - can we create a Blob from a CArray ok 46 - Indexing with WhateverStar works on CArray ok 47 - Make sure optimisation didn't break anything ok 48 - Did uints remain uints ok t/13-experimental/macros.rakutest ............................... 1..6 # Subtest: Macro 1..8 ok 1 - I like numbers before - contents ok 2 - I like numbers before - WHEREFORE ok 3 - I like numbers before - leading ok 4 - I like numbers before - no trailing ok 5 - I like numbers before - stringifies correctly ok 6 - $=pod I like numbers before - WHEREFORE ok 7 - $=pod I like numbers before ok 8 - a macro does Callable ok 1 - Macro # Subtest: Macro 1..8 ok 1 - I like numbers after - contents ok 2 - I like numbers after - WHEREFORE ok 3 - I like numbers after - trailing ok 4 - I like numbers after - no leading ok 5 - I like numbers after - stringifies correctly ok 6 - $=pod I like numbers after - WHEREFORE ok 7 - $=pod I like numbers after ok 8 - a macro does Callable ok 2 - Macro # Subtest: Macro 1..8 ok 1 - I like numbers before - contents ok 2 - I like numbers before - WHEREFORE ok 3 - I like numbers before - leading ok 4 - I like numbers before - no trailing ok 5 - I like numbers before - stringifies correctly ok 6 - $=pod I like numbers before - WHEREFORE ok 7 - $=pod I like numbers before ok 8 - a macro does Callable ok 3 - Macro # Subtest: Macro 1..8 ok 1 - I like numbers after - contents ok 2 - I like numbers after - WHEREFORE ok 3 - I like numbers after - trailing ok 4 - I like numbers after - no leading ok 5 - I like numbers after - stringifies correctly ok 6 - $=pod I like numbers after - WHEREFORE ok 7 - $=pod I like numbers after ok 8 - a macro does Callable ok 4 - Macro # Subtest: Macro 1..8 ok 1 - I like\nnumbers - contents ok 2 - I like\nnumbers - WHEREFORE ok 3 - I like\nnumbers - trailing ok 4 - I like\nnumbers - trailing ok 5 - I like\nnumbers - stringifies correctly ok 6 - $=pod I like\nnumbers - WHEREFORE ok 7 - $=pod I like\nnumbers ok 8 - a macro does Callable ok 5 - Macro # Subtest: did we throws-like X::Role::Parametric::NoSuchCandidate? 1..3 ok 1 - 'role popo { macro marco { $^a but popo }; marco popo; }' died ok 2 - right exception type (X::Role::Parametric::NoSuchCandidate) ok 3 - .role matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3853026960) ... } ok 6 - did we throws-like X::Role::Parametric::NoSuchCandidate? ok t/08-performance/18-rakuast-callstatic.t ........................ 1..40 ok 1 - a call to a setting routine compiles to a static callee lookup ok 2 - a setting routine whose value is used compiles to a static callee lookup ok 3 - a call to a nested user routine keeps the plain callee lookup ok 4 - a call to a sub declared in the outermost scope compiles to a static callee lookup ok 5 - a call to a multi declared in the outermost scope compiles to a static callee lookup ok 6 - the outer call to a recursive sub compiles to a static callee lookup ok 7 - a call to an imported routine compiles to a static callee lookup ok 8 - a call through a routine variable keeps the plain callee lookup WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/t/08-performance/18-rakuast-callstatic.t: Useless use of "==" in expression "$a == $b" in sink context (line 2) ok 9 - a comparison against a setting operator compiles to a static callee lookup ok 10 - a chained comparison against a setting operator compiles to static chain links ok 11 - a comparison against a nested user operator keeps the plain lookup ok 12 - a setting infix that does not chain compiles to a static callee lookup ok 13 - a setting prefix compiles to a static callee lookup ok 14 - a setting postfix compiles to a static callee lookup ok 15 - a nested user prefix keeps the plain callee lookup ok 16 - a nested user infix keeps the plain callee lookup ok 17 - a prefix bound through an operator variable keeps the plain callee lookup ok 18 - # SKIP the soft shape is specific to the RakuAST frontend ok 19 - a setting routine called by name returns its value ok 20 - return unwinds through a static callee lookup ok 21 - take reaches the enclosing gather through a static callee lookup ok 22 - fail produces a Failure through a static callee lookup ok 23 - a multi setting routine called by name returns its value ok 24 - a setting routine still runs under the soft pragma ok 25 - a recursive outermost-scope sub computes through static lookups ok 26 - a multi called with an Int picks the Int candidate ok 27 - a multi called with a Str picks the Str candidate ok 28 - an outermost-scope sub closing over a mainline lexical reads it ok 29 - a true chained comparison holds through static links ok 30 - a false chained comparison fails through static links ok 31 - a chained comparison with a call in the middle holds ok 32 - the middle operand of a chained comparison runs once ok 33 - a Junction autothreads through a static comparison ok 34 - a setting prefix called through a static lookup returns its value ok 35 - a postfix increment through a static lookup yields the original value ok 36 - a postfix increment through a static lookup steps the variable ok 37 - a user infix declared in the outermost scope computes through a static lookup ok 38 - a wrapped prefix in the outermost scope runs its wrapper through a static lookup ok 39 - use fatal respects defined through a static callee lookup ok 40 - use fatal promotes a Failure from a static callee lookup ok t/02-rakudo/rakuast-feed-validation.t ........................... 1..23 # Subtest: literal ==> literal SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - literal ==> literal SORRYs # Subtest: literal <== literal SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - literal <== literal SORRYs # Subtest: my $x = ... <== ... <== source SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - my $x = ... <== ... <== source SORRYs # Subtest: my @x = ... <== ... <== source SORRYs with shaped-array wording 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - my @x = ... <== ... <== source SORRYs with shaped-array wording # Subtest: our @x = ... <== ... <== source SORRYs with shaped-array wording 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - our @x = ... <== ... <== source SORRYs with shaped-array wording # Subtest: state @x = ... gets the generic SORRY, NOT shaped-array wording 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - state @x = ... gets the generic SORRY, NOT shaped-array wording # Subtest: &lexical-code-object as stage SORRYs with sink-into-code-object wording 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - &lexical-code-object as stage SORRYs with sink-into-code-object wording # Subtest: &Pkg::foo (Var::Package with & sigil) SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 8 - &Pkg::foo (Var::Package with & sigil) SORRYs # Subtest: method call ([].push) on RHS of feed SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 9 - method call ([].push) on RHS of feed SORRYs # Subtest: method call (@a.append) on RHS of feed SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 10 - method call (@a.append) on RHS of feed SORRYs # Subtest: bare .method call as feed stage SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 11 - bare .method call as feed stage SORRYs # Subtest: forward feed chain returns expected value 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 12 - forward feed chain returns expected value # Subtest: backward feed chain returns expected value 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 13 - backward feed chain returns expected value # Subtest: forward feed into @-var 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 14 - forward feed into @-var # Subtest: backward feed into @-var 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 15 - backward feed into @-var # Subtest: scalar var source feeds to a call 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 16 - scalar var source feeds to a call # Subtest: 2-stage forward feed: source ==> call 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 17 - 2-stage forward feed: source ==> call # Subtest: bare my @a <== source compiles (declaration acts as Var) 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 18 - bare my @a <== source compiles (declaration acts as Var) # Subtest: feed stage calling sub with one mandatory positional compiles 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 19 - feed stage calling sub with one mandatory positional compiles # Subtest: chained feed stages each calling a one-positional sub compile 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 20 - chained feed stages each calling a one-positional sub compile # Subtest: backward feed stage calling a one-positional sub compiles 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 21 - backward feed stage calling a one-positional sub compiles # Subtest: non-feed call with too few arguments still SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 22 - non-feed call with too few arguments still SORRYs # Subtest: wrong-arity call as the feed source still SORRYs 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 23 - wrong-arity call as the feed source still SORRYs ok t/09-moar/NAME__UnicodeData.t ................................... ok 1 - Property: NAME from file: UnicodeData.txt (Correct: 288145 Wrong: 0) 1..1 ok t/13-experimental/pack.rakutest ................................. 1..43 ok 1 - H* works ok 2 - H* works ok 3 - H works on odd-length strings ok 4 - H works on odd-length strings ok 5 - A11 A28 A8 A* works ok 6 - A11 A28 A8 A* works ok 7 - C S L n N v V work ok 8 - C S L n N v V work ok 9 - x by itself works ok 10 - x by itself works ok 11 - x4 & amount works ok 12 - x4 & amount works ok 13 - x* & amount works: does nothing ok 14 - x* & amount works: does nothing ok 15 - H* works ok 16 - H* works ok 17 - field 1 (A11) works ok 18 - field 2 (A28) works ok 19 - field 3 (A8) works ok 20 - field 4 (A*) works ok 21 - field 1 (A11) works ok 22 - field 2 (A28) works ok 23 - field 3 (A8) works ok 24 - field 4 (A*) works ok 25 - C works ok 26 - S works ok 27 - L works ok 28 - n works ok 29 - N works ok 30 - v works ok 31 - V works ok 32 - C works ok 33 - S works ok 34 - L works ok 35 - n works ok 36 - N works ok 37 - v works ok 38 - V works # Subtest: did we throws-like X::Buf::AsStr? 1..2 ok 1 - code dies ok 2 - right exception type (X::Buf::AsStr) ok 39 - did we throws-like X::Buf::AsStr? # Subtest: did we throws-like X::Buf::Pack? 1..3 ok 1 - code dies ok 2 - right exception type (X::Buf::Pack) ok 3 - .directive matches B ok 40 - did we throws-like X::Buf::Pack? # Subtest: did we throws-like X::Buf::Pack? 1..3 ok 1 - code dies ok 2 - right exception type (X::Buf::Pack) ok 3 - .directive matches B ok 41 - did we throws-like X::Buf::Pack? # Subtest: did we throws-like X::Buf::Pack::NonASCII? 1..3 ok 1 - code dies ok 2 - right exception type (X::Buf::Pack::NonASCII) ok 3 - .char matches Ä ok 42 - did we throws-like X::Buf::Pack::NonASCII? ok 43 - is "use experimental :pack" visible? ok t/12-rakuast/types.rakutest ..................................... 1..10 # Subtest: look up an existing type # Proc::Async ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - look up an existing type # Subtest: type with definedness constraint # Int:D ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - type with definedness constraint # Subtest: type with undefinedness constraint # Int:U ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - type with undefinedness constraint # Subtest: type with unspecified coercion # Int() ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - type with unspecified coercion # Subtest: type with specific coercion # Int(Str) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - type with specific coercion # Subtest: type with chained coercion # Int(Str()) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - type with chained coercion # Subtest: parameterized type without type # Rational ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - parameterized type without type # Subtest: parameterized type with type # Rational[Int] ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - parameterized type with type # Subtest: Single-part type from the setting # SETTING:: ok 1 - deparse ok 2 - AST: did we get the setting version ok 3 - Str: did we get the setting version ok 4 - Raku: did we get the setting version 1..4 ok 9 - Single-part type from the setting # Subtest: Multi-part type from the setting # SETTING::.WHO.WHO ok 1 - deparse not ok 2 - AST: did we get the setting version # TODO no actual lookup in SETTING only yet # Failed test 'AST: did we get the setting version' # at t/12-rakuast/types.rakutest line 159 # expected: IO::Path::Parts # got: IO::Path::Parts not ok 3 - Str: did we get the setting version # TODO no actual lookup in SETTING only yet # Failed test 'Str: did we get the setting version' # at t/12-rakuast/types.rakutest line 159 # expected: IO::Path::Parts # got: IO::Path::Parts not ok 4 - Raku: did we get the setting version # TODO no actual lookup in SETTING only yet # Failed test 'Raku: did we get the setting version' # at t/12-rakuast/types.rakutest line 159 # expected: IO::Path::Parts # got: IO::Path::Parts 1..4 ok 10 - Multi-part type from the setting ok t/12-rakuast/subset.rakutest .................................... 1..8 # Subtest: Simplest subset Foo # my subset Foo ok 1 - deparse ok 2 - AST: is name ok ok 3 - AST: is refinee ok ok 4 - AST: is refinement ok ok 5 - AST: subset accepts 42 ok 6 - AST: subset accepts foo ok 7 - AST: subset accepts Any ok 8 - AST: subset does not accept Mu ok 9 - Str: is name ok ok 10 - Str: is refinee ok ok 11 - Str: is refinement ok ok 12 - Str: subset accepts 42 ok 13 - Str: subset accepts foo ok 14 - Str: subset accepts Any ok 15 - Str: subset does not accept Mu ok 16 - Raku: is name ok ok 17 - Raku: is refinee ok ok 18 - Raku: is refinement ok ok 19 - Raku: subset accepts 42 ok 20 - Raku: subset accepts foo ok 21 - Raku: subset accepts Any ok 22 - Raku: subset does not accept Mu 1..22 ok 1 - Simplest subset Foo # Subtest: Simple subset Foo of Int # my subset Foo of Int ok 1 - deparse ok 2 - AST: is name ok ok 3 - AST: is refinee ok ok 4 - AST: is refinement ok ok 5 - AST: subset accepts 42 ok 6 - AST: subset does not accept foo ok 7 - AST: subset does not accept Any ok 8 - Str: is name ok ok 9 - Str: is refinee ok ok 10 - Str: is refinement ok ok 11 - Str: subset accepts 42 ok 12 - Str: subset does not accept foo ok 13 - Str: subset does not accept Any ok 14 - Raku: is name ok ok 15 - Raku: is refinee ok ok 16 - Raku: is refinement ok ok 17 - Raku: subset accepts 42 ok 18 - Raku: subset does not accept foo ok 19 - Raku: subset does not accept Any 1..19 ok 2 - Simple subset Foo of Int # Subtest: Subset with a where block # my subset Foo of Int where { # $_ %% 2 # } ok 1 - deparse ok 2 - AST: is name ok ok 3 - AST: is refinee ok ok 4 - AST: is refinement ok ok 5 - AST: subset accepts 42 ok 6 - AST: subset does not accept 41 ok 7 - AST: subset does not accept foo ok 8 - AST: subset does not accept Any ok 9 - Str: is name ok ok 10 - Str: is refinee ok ok 11 - Str: is refinement ok ok 12 - Str: subset accepts 42 ok 13 - Str: subset does not accept 41 ok 14 - Str: subset does not accept foo ok 15 - Str: subset does not accept Any ok 16 - Raku: is name ok ok 17 - Raku: is refinee ok ok 18 - Raku: is refinement ok ok 19 - Raku: subset accepts 42 ok 20 - Raku: subset does not accept 41 ok 21 - Raku: subset does not accept foo ok 22 - Raku: subset does not accept Any 1..22 ok 3 - Subset with a where block # Subtest: Subset with a where pointy block # my subset Foo of Int where -> $a { # $a %% 2 # } ok 1 - deparse ok 2 - AST: is name ok ok 3 - AST: is refinee ok ok 4 - AST: is refinement ok ok 5 - AST: subset accepts 42 ok 6 - AST: subset does not accept 41 ok 7 - AST: subset does not accept foo ok 8 - AST: subset does not accept Any ok 9 - Str: is name ok ok 10 - Str: is refinee ok ok 11 - Str: is refinement ok ok 12 - Str: subset accepts 42 ok 13 - Str: subset does not accept 41 ok 14 - Str: subset does not accept foo ok 15 - Str: subset does not accept Any ok 16 - Raku: is name ok ok 17 - Raku: is refinee ok ok 18 - Raku: is refinement ok ok 19 - Raku: subset accepts 42 ok 20 - Raku: subset does not accept 41 ok 21 - Raku: subset does not accept foo ok 22 - Raku: subset does not accept Any 1..22 ok 4 - Subset with a where pointy block # Subtest: Subset with a where whatevercode # my subset Foo of Int where * %% 2 ok 1 - deparse ok 2 - AST: is name ok ok 3 - AST: is refinee ok ok 4 - AST: is refinement ok ok 5 - AST: subset accepts 42 ok 6 - AST: subset does not accept 41 ok 7 - AST: subset does not accept foo ok 8 - AST: subset does not accept Any ok 9 - Str: is name ok ok 10 - Str: is refinee ok ok 11 - Str: is refinement ok ok 12 - Str: subset accepts 42 ok 13 - Str: subset does not accept 41 ok 14 - Str: subset does not accept foo ok 15 - Str: subset does not accept Any ok 16 - Raku: is name ok ok 17 - Raku: is refinee ok ok 18 - Raku: is refinement ok ok 19 - Raku: subset accepts 42 ok 20 - Raku: subset does not accept 41 ok 21 - Raku: subset does not accept foo ok 22 - Raku: subset does not accept Any 1..22 ok 5 - Subset with a where whatevercode # Subtest: Subset with a where literal # my subset Foo where 42 ok 1 - deparse ok 2 - AST: is name ok ok 3 - AST: is refinee ok ok 4 - AST: is refinement ok ok 5 - AST: subset accepts 42 ok 6 - AST: subset does not accept 41 ok 7 - AST: subset does not accept foo ok 8 - Str: is name ok ok 9 - Str: is refinee ok ok 10 - Str: is refinement ok ok 11 - Str: subset accepts 42 ok 12 - Str: subset does not accept 41 ok 13 - Str: subset does not accept foo ok 14 - Raku: is name ok ok 15 - Raku: is refinee ok ok 16 - Raku: is refinement ok ok 17 - Raku: subset accepts 42 ok 18 - Raku: subset does not accept 41 ok 19 - Raku: subset does not accept foo 1..19 ok 6 - Subset with a where literal # Subtest: Anonymous subset (subset ::) ok 1 - AST two-Empty: deparse uses :: placeholder ok 2 - AST two-Empty: anonymous name ok 3 - AST single-Empty: anonymous name ok 4 - Source: anonymous subset as hash typed-key constraint compiles ok 5 - Source: anonymous subset inside role compiles ok 6 - class :: .^name uses HOW anon default ok 7 - role :: .^name uses HOW anon default ok 8 - module :: .^name uses HOW anon default ok 9 - grammar :: .^name uses HOW anon default # Subtest: our sub :: in role throws (exemption is PackageInstaller-only) 1..2 ok 1 - code dies ok 2 - right exception type (X::Declaration::OurScopeInRole) ok 10 - our sub :: in role throws (exemption is PackageInstaller-only) 1..10 ok 7 - Anonymous subset (subset ::) # Subtest: Subset with a where regex # my subset Foo where /42/ ok 1 - deparse ok 2 - AST: is name ok ok 3 - AST: is refinee ok ok 4 - AST: is refinement ok ok 5 - AST: subset accepts 42 ok 6 - AST: subset does not accept 41 ok 7 - AST: subset does not accept foo ok 8 - Str: is name ok ok 9 - Str: is refinee ok ok 10 - Str: is refinement ok ok 11 - Str: subset accepts 42 ok 12 - Str: subset does not accept 41 ok 13 - Str: subset does not accept foo ok 14 - Raku: is name ok ok 15 - Raku: is refinee ok ok 16 - Raku: is refinement ok ok 17 - Raku: subset accepts 42 ok 18 - Raku: subset does not accept 41 ok 19 - Raku: subset does not accept foo 1..19 ok 8 - Subset with a where regex ok t/12-rakuast/strings.rakutest ................................... 1..14 # Subtest: One-part quoted string with literal piece # "hello\n" ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - One-part quoted string with literal piece # Subtest: Quoted string with interpolated string variable works # "$str world" ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Quoted string with interpolated string variable works # Subtest: Quoted string with interpolated integer variable # "$int is the answer" ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Quoted string with interpolated integer variable # Subtest: Quoted string consisting of only interpolated integer variable # "$int" ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Quoted string consisting of only interpolated integer variable # Subtest: Quoted string with 3 parts works # "The answer is $int of course!" ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Quoted string with 3 parts works # Subtest: Quoted string involving an interpolated block # "An { # $bv # } block" ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Quoted string involving an interpolated block # Subtest: words processor splits a single literal string into words # qqw/foo bar 42/ ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - words processor splits a single literal string into words # Subtest: Words processor applied to a quoted string with interpolation # qqw/ba$stuff 66/ ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - Words processor applied to a quoted string with interpolation # Subtest: Using the val processor alone # qq:v/42/ ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 9 - Using the val processor alone # Subtest: Using the val processor alone with interpolation # qq:v/4$end/ ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 10 - Using the val processor alone with interpolation # Subtest: Using the words and val processor # ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 11 - Using the words and val processor # Subtest: Words processor applied to a quoted string with interpolation # qq:w:v/ba$stuff 66/ ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 12 - Words processor applied to a quoted string with interpolation # Subtest: Using the quotewords and val processor # <<1 "2" 3.5>> ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 13 - Using the quotewords and val processor # Subtest: Using the exec processor alone gives expected result # qx/echo 123/ ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 14 - Using the exec processor alone gives expected result ok t/12-rakuast/statement-mods.rakutest ............................ 1..14 # Subtest: The postfix "if" statement works with a true expression # 42 if 666 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - The postfix "if" statement works with a true expression # Subtest: The postfix "if" statement works with a false expression # 42 if "" ok 1 - deparse ok 2 - AST ok 3 - AST ok 4 - AST 1..4 ok 2 - The postfix "if" statement works with a false expression # Subtest: The postfix "unless" statement works with a false expression # 42 unless "" ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - The postfix "unless" statement works with a false expression # Subtest: The postfix "unless" statement works with a true expression # 42 unless 666 ok 1 - deparse ok 2 - AST ok 3 - AST ok 4 - AST 1..4 ok 4 - The postfix "unless" statement works with a true expression # Subtest: The postfix "with" statement works with defined expression # $_ * 2 with 42 ok 1 - deparse WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_17: Useless use of "*" in expression "$_ * 2" in sink context (line 1) ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - The postfix "with" statement works with defined expression # Subtest: The postfix "with" statement works with a type object # $_ * 2 with Int ok 1 - deparse ok 2 - AST WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_21: Useless use of "*" in expression "$_ * 2" in sink context (line 1) ok 3 - AST ok 4 - AST 1..4 ok 6 - The postfix "with" statement works with a type object # Subtest: The postfix "without" statement works with defined expression # $_ * 2 without 42 ok 1 - deparse ok 2 - AST WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_25: Useless use of "*" in expression "$_ * 2" in sink context (line 1) ok 3 - AST ok 4 - AST 1..4 ok 7 - The postfix "without" statement works with defined expression # Subtest: The postfix "given" statement works with defined expression # $_ * 2 given 42 ok 1 - deparse WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_29: Useless use of "*" in expression "$_ * 2" in sink context (line 1) ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - The postfix "given" statement works with defined expression # Subtest: The postfix "without" statement works with a type object # .Str without Int ok 1 - deparse Use of uninitialized value of type Int in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at t/12-rakuast/statement-mods.rakutest line 187 Use of uninitialized value of type Int in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at EVAL_33 line 1 Use of uninitialized value of type Int in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at t/12-rakuast/statement-mods.rakutest line 187 ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 9 - The postfix "without" statement works with a type object # Subtest: The postfix "when" statement works # $_ = 42; # 666 when 42 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 10 - The postfix "when" statement works # Subtest: The postfix "given" statement works with a type object # .Str given Int ok 1 - deparse Use of uninitialized value of type Int in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at t/12-rakuast/statement-mods.rakutest line 235 Use of uninitialized value of type Int in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at EVAL_41 line 1 Use of uninitialized value of type Int in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at t/12-rakuast/statement-mods.rakutest line 235 ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 11 - The postfix "given" statement works with a type object # Subtest: The postfix "while" statement works # ++$foo while $foo < 5 ok 1 - deparse ok 2 - AST ok 3 - AST ok 4 - Str ok 5 - Str ok 6 - Raku ok 7 - Raku 1..7 ok 12 - The postfix "while" statement works # Subtest: The postfix "until" statement works # ++$foo until $foo >= 5 ok 1 - deparse ok 2 - AST ok 3 - ok 4 - Str ok 5 - ok 6 - Raku ok 7 - 1..7 ok 13 - The postfix "until" statement works # Subtest: The postfix "for" statement works # ++$foo for 1 .. 5 ok 1 - deparse ok 2 - AST ok 3 - AST ok 4 - Str ok 5 - Str ok 6 - Raku ok 7 - Raku 1..7 ok 14 - The postfix "for" statement works ok t/12-rakuast/doc-declarator.rakutest ............................ 1..20 # Subtest: Simple leading and trailing pod declarator test # #| leading comment # sub a { #= trailing comment # 42 # } ok 1 - Str: deparse ok 2 - Raku: deparse 1..2 ok 1 - Simple leading and trailing pod declarator test # Subtest: Simple block with leading and trailing pod test # #| leading comment # { #= trailing comment # 42 # }, $=pod ok 1 - deparse ok 2 - AST: did we get a block ok 3 - AST: can it run and return value ok 4 - AST: did we get an Array ok 5 - AST: does it have one element ok 6 - AST: did we get a Pod::Block::Declarator ok 7 - AST: is the object the target of the declarator ok 8 - AST: is the leading comment correct ok 9 - AST: is the trailing comment correct ok 10 - Str: did we get a block ok 11 - Str: can it run and return value ok 12 - Str: did we get an Array ok 13 - Str: does it have one element ok 14 - Str: did we get a Pod::Block::Declarator ok 15 - Str: is the object the target of the declarator ok 16 - Str: is the leading comment correct ok 17 - Str: is the trailing comment correct ok 18 - Raku: did we get a block ok 19 - Raku: can it run and return value ok 20 - Raku: did we get an Array ok 21 - Raku: does it have one element ok 22 - Raku: did we get a Pod::Block::Declarator ok 23 - Raku: is the object the target of the declarator ok 24 - Raku: is the leading comment correct ok 25 - Raku: is the trailing comment correct 1..25 ok 2 - Simple block with leading and trailing pod test # Subtest: Simple pointy block with leading and trailing pod test # #| leading comment # -> { #= trailing comment # 42 # }, $=pod ok 1 - deparse ok 2 - AST: did we get a block ok 3 - AST: can it run and return value ok 4 - AST: did we get an Array ok 5 - AST: does it have one element ok 6 - AST: did we get a Pod::Block::Declarator ok 7 - AST: is the object the target of the declarator ok 8 - AST: is the leading comment correct ok 9 - AST: is the trailing comment correct ok 10 - Str: did we get a block ok 11 - Str: can it run and return value ok 12 - Str: did we get an Array ok 13 - Str: does it have one element ok 14 - Str: did we get a Pod::Block::Declarator ok 15 - Str: is the object the target of the declarator ok 16 - Str: is the leading comment correct ok 17 - Str: is the trailing comment correct ok 18 - Raku: did we get a block ok 19 - Raku: can it run and return value ok 20 - Raku: did we get an Array ok 21 - Raku: does it have one element ok 22 - Raku: did we get a Pod::Block::Declarator ok 23 - Raku: is the object the target of the declarator ok 24 - Raku: is the leading comment correct ok 25 - Raku: is the trailing comment correct 1..25 ok 3 - Simple pointy block with leading and trailing pod test # Subtest: Simple sub with leading and trailing pod test # #| leading comment # sub a { #= trailing comment # 42 # }, $=pod ok 1 - deparse ok 2 - AST: did we get a sub ok 3 - AST: did it get the right name ok 4 - AST: can it run and return value ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a sub ok 12 - Str: did it get the right name ok 13 - Str: can it run and return value ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a sub ok 21 - Raku: did it get the right name ok 22 - Raku: can it run and return value ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 4 - Simple sub with leading and trailing pod test # Subtest: Simple class with declarator pod # #| leading comment # my class A { #= trailing comment # }, $=pod ok 1 - deparse ok 2 - AST: did we get a class ok 3 - AST: did it get the right name ok 4 - AST: can it instantiate ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a class ok 12 - Str: did it get the right name ok 13 - Str: can it instantiate ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a class ok 21 - Raku: did it get the right name ok 22 - Raku: can it instantiate ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 5 - Simple class with declarator pod # Subtest: Simple class with declarator pod, one attribute # my class A { # #| leading comment # has $.foo #= trailing comment # }, $=pod ok 1 - deparse ok 2 - AST: did we get a class ok 3 - AST: did it get the right name ok 4 - AST: can it instantiate ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a class ok 12 - Str: did it get the right name ok 13 - Str: can it instantiate ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct not ok 19 - Str: is the trailing comment correct # TODO Str: trailing comment dropped somehow # Failed test 'Str: is the trailing comment correct' # at t/12-rakuast/doc-declarator.rakutest line 58 # expected: "trailing comment" # got: Nil ok 20 - Raku: did we get a class ok 21 - Raku: did it get the right name ok 22 - Raku: can it instantiate ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 6 - Simple class with declarator pod, one attribute # Subtest: Simple class with declarator pod, two attributes # my class A { # #| leading comment # has $.foo; #= trailing comment # has $.bar # }, $=pod ok 1 - deparse ok 2 - AST: did we get a class ok 3 - AST: did it get the right name ok 4 - AST: can it instantiate ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a class ok 12 - Str: did it get the right name ok 13 - Str: can it instantiate ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a class ok 21 - Raku: did it get the right name ok 22 - Raku: can it instantiate ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 7 - Simple class with declarator pod, two attributes # Subtest: Simple class with declarator pod, one method # my class A { # #| leading comment # method foo { #= trailing comment # } # }, $=pod ok 1 - deparse ok 2 - AST: did we get a class ok 3 - AST: did it get the right name ok 4 - AST: can it instantiate ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a class ok 12 - Str: did it get the right name ok 13 - Str: can it instantiate ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a class ok 21 - Raku: did it get the right name ok 22 - Raku: can it instantiate ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 8 - Simple class with declarator pod, one method # Subtest: Simple class with declarator pod, one submethod # my class A { # #| leading comment # submethod foo { #= trailing comment # } # }, $=pod ok 1 - deparse ok 2 - AST: did we get a class ok 3 - AST: did it get the right name ok 4 - AST: can it instantiate ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a class ok 12 - Str: did it get the right name ok 13 - Str: can it instantiate ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a class ok 21 - Raku: did it get the right name ok 22 - Raku: can it instantiate ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 9 - Simple class with declarator pod, one submethod # Subtest: Simple class with declarator pod, one private method # my class A { # #| leading comment # method !foo { #= trailing comment # } # }, $=pod ok 1 - deparse ok 2 - AST: did we get a class ok 3 - AST: did it get the right name ok 4 - AST: can it instantiate ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a class ok 12 - Str: did it get the right name ok 13 - Str: can it instantiate ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a class ok 21 - Raku: did it get the right name ok 22 - Raku: can it instantiate ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 10 - Simple class with declarator pod, one private method # Subtest: Simple class with declarator pod, one meta method # my class A { # #| leading comment # method ^foo { #= trailing comment # } # }, $=pod ok 1 - deparse ok 2 - AST: did we get a class ok 3 - AST: did it get the right name ok 4 - AST: can it instantiate ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a class ok 12 - Str: did it get the right name ok 13 - Str: can it instantiate ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a class ok 21 - Raku: did it get the right name ok 22 - Raku: can it instantiate ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 11 - Simple class with declarator pod, one meta method # Subtest: Simple class with declarator pod, two methods # my class A { # #| leading comment # method foo { #= trailing comment # } # method bar { } # }, $=pod ok 1 - deparse ok 2 - AST: did we get a class ok 3 - AST: did it get the right name ok 4 - AST: can it instantiate ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a class ok 12 - Str: did it get the right name ok 13 - Str: can it instantiate ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a class ok 21 - Raku: did it get the right name ok 22 - Raku: can it instantiate ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 12 - Simple class with declarator pod, two methods # Subtest: Simple enum with declarator pod # #| leading comment # my enum Foo #= trailing comment # , $=pod ok 1 - deparse ok 2 - AST: did we get a Map ok 3 - AST: did we get an Array ok 4 - AST: does it have one element ok 5 - AST: did we get a Pod::Block::Declarator ok 6 - AST: is the leading comment correct ok 7 - AST: is the trailing comment correct ok 8 - Str: did we get a Map ok 9 - Str: did we get an Array ok 10 - Str: does it have one element ok 11 - Str: did we get a Pod::Block::Declarator ok 12 - Str: is the leading comment correct not ok 13 - Str: is the trailing comment correct # TODO Str: trailing comment dropped somehow # Failed test 'Str: is the trailing comment correct' # at t/12-rakuast/doc-declarator.rakutest line 58 # expected: "trailing comment" # got: Nil ok 14 - Raku: did we get a Map ok 15 - Raku: did we get an Array ok 16 - Raku: does it have one element ok 17 - Raku: did we get a Pod::Block::Declarator ok 18 - Raku: is the leading comment correct ok 19 - Raku: is the trailing comment correct 1..19 ok 13 - Simple enum with declarator pod # Subtest: Simple subset with declarator pod # #| leading comment # my subset Foo of Int #= trailing comment # , $=pod ok 1 - deparse ok 2 - AST: did we get a subset ok 3 - AST: did it get the right name ok 4 - AST: does the subset accept Int ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a subset ok 12 - Str: did it get the right name ok 13 - Str: does the subset accept Int ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct not ok 19 - Str: is the trailing comment correct # TODO Str: trailing comment dropped somehow # Failed test 'Str: is the trailing comment correct' # at t/12-rakuast/doc-declarator.rakutest line 58 # expected: "trailing comment" # got: Nil ok 20 - Raku: did we get a subset ok 21 - Raku: did it get the right name ok 22 - Raku: does the subset accept Int ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 14 - Simple subset with declarator pod # Subtest: Simple regex with declarator pod # #| leading comment # my regex foo { #= trailing comment # bar }, $=pod ok 1 - deparse ok 2 - AST: did we get a regex ok 3 - AST: did it get the right name ok 4 - AST: did we get an Array ok 5 - AST: does it have one element ok 6 - AST: did we get a Pod::Block::Declarator ok 7 - AST: is the object the target of the declarator ok 8 - AST: is the leading comment correct ok 9 - AST: is the trailing comment correct ok 10 - Str: did we get a regex ok 11 - Str: did it get the right name ok 12 - Str: did we get an Array ok 13 - Str: does it have one element ok 14 - Str: did we get a Pod::Block::Declarator ok 15 - Str: is the object the target of the declarator ok 16 - Str: is the leading comment correct ok 17 - Str: is the trailing comment correct ok 18 - Raku: did we get a regex ok 19 - Raku: did it get the right name ok 20 - Raku: did we get an Array ok 21 - Raku: does it have one element ok 22 - Raku: did we get a Pod::Block::Declarator ok 23 - Raku: is the object the target of the declarator ok 24 - Raku: is the leading comment correct ok 25 - Raku: is the trailing comment correct 1..25 ok 15 - Simple regex with declarator pod # Subtest: Sub with declarator pod on parameter (1) # sub a ( # #| leading comment # $b #= trailing comment # ) { }, $=pod ok 1 - deparse ok 2 - AST: did we get a sub ok 3 - AST: did sub get the right name ok 4 - AST: did parameter get the right name ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a sub ok 12 - Str: did sub get the right name ok 13 - Str: did parameter get the right name ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a sub ok 21 - Raku: did sub get the right name ok 22 - Raku: did parameter get the right name ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 16 - Sub with declarator pod on parameter (1) # Subtest: Sub with declarator pod on parameter (2) # sub a ( # #| leading comment # $b, #= trailing comment # $c # ) { }, $=pod ok 1 - deparse ok 2 - AST: did we get a sub ok 3 - AST: did sub get the right name ok 4 - AST: did parameter get the right name ok 5 - AST: did we get an Array ok 6 - AST: does it have one element ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading comment correct ok 10 - AST: is the trailing comment correct ok 11 - Str: did we get a sub ok 12 - Str: did sub get the right name ok 13 - Str: did parameter get the right name ok 14 - Str: did we get an Array ok 15 - Str: does it have one element ok 16 - Str: did we get a Pod::Block::Declarator ok 17 - Str: is the object the target of the declarator ok 18 - Str: is the leading comment correct ok 19 - Str: is the trailing comment correct ok 20 - Raku: did we get a sub ok 21 - Raku: did sub get the right name ok 22 - Raku: did parameter get the right name ok 23 - Raku: did we get an Array ok 24 - Raku: does it have one element ok 25 - Raku: did we get a Pod::Block::Declarator ok 26 - Raku: is the object the target of the declarator ok 27 - Raku: is the leading comment correct ok 28 - Raku: is the trailing comment correct 1..28 ok 17 - Sub with declarator pod on parameter (2) # Subtest: Sub with declarator pod on parameter (3) # sub a ( # #| leading comment b # $b, # #| leading comment c # $c # ) { }, $=pod ok 1 - deparse ok 2 - AST: did we get a sub ok 3 - AST: did sub get the right name ok 4 - AST: did first parameter get the right name ok 5 - AST: did second parameter get the right name ok 6 - AST: did we get an Array ok 7 - AST: does it have two elements ok 8 - AST: did we get a Pod::Block::Declarator ok 9 - AST: is the object the target of the declarator ok 10 - AST: is the leading comment b correct ok 11 - AST: did we get a Pod::Block::Declarator ok 12 - AST: is the object the target of the declarator ok 13 - AST: is the leading comment c correct ok 14 - Str: did we get a sub ok 15 - Str: did sub get the right name ok 16 - Str: did first parameter get the right name ok 17 - Str: did second parameter get the right name ok 18 - Str: did we get an Array ok 19 - Str: does it have two elements ok 20 - Str: did we get a Pod::Block::Declarator ok 21 - Str: is the object the target of the declarator ok 22 - Str: is the leading comment b correct ok 23 - Str: did we get a Pod::Block::Declarator ok 24 - Str: is the object the target of the declarator ok 25 - Str: is the leading comment c correct ok 26 - Raku: did we get a sub ok 27 - Raku: did sub get the right name ok 28 - Raku: did first parameter get the right name ok 29 - Raku: did second parameter get the right name ok 30 - Raku: did we get an Array ok 31 - Raku: does it have two elements ok 32 - Raku: did we get a Pod::Block::Declarator ok 33 - Raku: is the object the target of the declarator ok 34 - Raku: is the leading comment b correct ok 35 - Raku: did we get a Pod::Block::Declarator ok 36 - Raku: is the object the target of the declarator ok 37 - Raku: is the leading comment c correct 1..37 ok 18 - Sub with declarator pod on parameter (3) # Subtest: Sub with declarator pod on parameter (4) # #| leading sub # sub a ( #= trailing sub # #| leading param # $b #= trailing param # ) { }, $=pod ok 1 - deparse ok 2 - AST: did we get a sub ok 3 - AST: did sub get the right name ok 4 - AST: did parameter get the right name ok 5 - AST: did we get an Array ok 6 - AST: does it have two elements ok 7 - AST: did we get a Pod::Block::Declarator ok 8 - AST: is the object the target of the declarator ok 9 - AST: is the leading sub correct ok 10 - AST: is the trailing sub correct ok 11 - AST: did we get a Pod::Block::Declarator ok 12 - AST: is the object the target of the declarator ok 13 - AST: is the leading param correct ok 14 - AST: is the trailing param correct ok 15 - Str: did we get a sub ok 16 - Str: did sub get the right name ok 17 - Str: did parameter get the right name ok 18 - Str: did we get an Array ok 19 - Str: does it have two elements ok 20 - Str: did we get a Pod::Block::Declarator ok 21 - Str: is the object the target of the declarator ok 22 - Str: is the leading sub correct ok 23 - Str: is the trailing sub correct ok 24 - Str: did we get a Pod::Block::Declarator ok 25 - Str: is the object the target of the declarator ok 26 - Str: is the leading param correct ok 27 - Str: is the trailing param correct ok 28 - Raku: did we get a sub ok 29 - Raku: did sub get the right name ok 30 - Raku: did parameter get the right name ok 31 - Raku: did we get an Array ok 32 - Raku: does it have two elements ok 33 - Raku: did we get a Pod::Block::Declarator ok 34 - Raku: is the object the target of the declarator ok 35 - Raku: is the leading sub correct ok 36 - Raku: is the trailing sub correct ok 37 - Raku: did we get a Pod::Block::Declarator ok 38 - Raku: is the object the target of the declarator ok 39 - Raku: is the leading param correct ok 40 - Raku: is the trailing param correct 1..40 ok 19 - Sub with declarator pod on parameter (4) # Subtest: a simple lexical var # #| leading B # my $foo #= trailing C # , $=pod ok 1 - deparse ok 2 - did we find the paragraphs ok 1..2 ok 20 - a simple lexical var ok t/02-rakudo/custom-declarator-attributes.t ...................... 1..7 # Subtest: a custom ClassHOW declarator supports attributes 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - a custom ClassHOW declarator supports attributes # Subtest: a HOW that subclasses ClassHOW (the OO::Monitors shape) supports attributes 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - a HOW that subclasses ClassHOW (the OO::Monitors shape) supports attributes # Subtest: a non-Attachable HOW emits the typed error for a `has` declaration 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - a non-Attachable HOW emits the typed error for a `has` declaration # Subtest: a non-Attachable HOW emits a compile-time error for a stray attribute usage 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - a non-Attachable HOW emits a compile-time error for a stray attribute usage # Subtest: a ParametricRoleHOW-backed custom declarator does not crash on attribute usage 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - a ParametricRoleHOW-backed custom declarator does not crash on attribute usage # Subtest: a companion `-attr` meta-object supplies an attribute default 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - a companion `-attr` meta-object supplies an attribute default # Subtest: a companion `-attr` meta-object composes attributes, so it can reject `is rw` 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - a companion `-attr` meta-object composes attributes, so it can reject `is rw` ok t/04-nativecall/00-misc.t ....................................... ok 1 - are all identifiers reachable? ok 2 - body of a native sub declared in a role body replaced ok 3 - body of a native sub declared in a BEGIN block replaced ok 4 - optimizer doesn't inline the native sub's original body # Subtest: no segfaults when using NC routine after using it during precomp 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - no segfaults when using NC routine after using it during precomp 1..5 ok t/13-experimental/is-cached.rakutest ............................ 1..41 ok 1 - does fib(9) work ok 2 - did we call them all (1) ok 3 - does fib(10) work ok 4 - did we call them all (2) ok 5 - does fib(10) work ok 6 - did we call them all (3) ok 7 - no args case(1) ok 8 - did we run (1) ok 9 - no args case (2) ok 10 - did we run (2) ok 11 - foo arg case (1) ok 12 - did we run (3) ok 13 - foo arg case (2) ok 14 - did we run (4) ok 15 - bar arg case (1) ok 16 - did we run (5) ok 17 - bar arg case (2) ok 18 - did we run (6) ok 19 - foo,bar arg case (1) ok 20 - did we run (7) ok 21 - foo,bar arg case (2) ok 22 - did we run (8) ok 23 - foo,bar case(1) ok 24 - did we run (1) ok 25 - foo,bar case(2) ok 26 - did we run (2) ok 27 - foo,bar,baz case(1) ok 28 - did we run (3) ok 29 - foo,bar,baz case(2) ok 30 - did we run (4) ok 31 - did we get the value back (1) ok 32 - was the code done (1) ok 33 - did we get the value back (2) ok 34 - was the code done (2) ok 35 - did we get the value back (3) ok 36 - was the code done (3) ok 37 - did we get the value back (4) ok 38 - was the code done (4) ok 39 - was the call successful ok 40 - did it produce the right output ok 41 - no error output ok t/13-experimental/macros-unquoting.rakutest ..................... WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/t/13-experimental/macros-unquoting.rakutest: Useless use of $cookies in sink context (line 73) 1..5 ok 1 - spliced code runs at parse time ok 2 - can build ASTs incrementally ok 3 - unquotes retain their lexical context # Subtest: did we throws-like X::TypeCheck::Splice? 1..6 ok 1 - 'macro bohm() { quasi { {{{"not an AST"}}} } }; bohm' died ok 2 - right exception type (X::TypeCheck::Splice) ok 3 - .line matches 1 ok 4 - .expected matches (AST) ok 5 - .action matches unquote evaluation ok 6 - .got matches (Str) ok 4 - did we throws-like X::TypeCheck::Splice? # Subtest: did we throws-like Exception? 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Null check failed for $cookies ok 5 - did we throws-like Exception? ok t/05-messages/03-errors.t ....................................... 1..30 # Subtest: .map does not explode in optimizer 1..3 # Subtest: Hash 1..2 ok 1 - '^4 .map: {}' died ok 2 - right exception type (X::Cannot::Map) ok 1 - Hash # Subtest: Int 1..2 ok 1 - '^4 .map: 42' died ok 2 - right exception type (X::Cannot::Map) ok 2 - Int ok 3 - subroutine ok 1 - .map does not explode in optimizer # Subtest: nodemap mentions right action when throwing on lazies 1..3 ok 1 - '(lazy ).nodemap: {;}' died ok 2 - right exception type (X::Cannot::Lazy) ok 3 - .action matches nodemap ok 2 - nodemap mentions right action when throwing on lazies # Subtest: using substr instead of subst 1..3 ok 1 - ''x'.substr: /x/, 'x'' died ok 2 - right exception type (Exception) ok 3 - .message matches /「did you mean 'subst'」/ ok 3 - using substr instead of subst # Subtest: errors from sprintf include location of error 1..3 ok 1 - 'sprintf "%d", class Foo {}.new' died ok 2 - right exception type (X::Str::Sprintf::Directives::BadType) ok 3 - .gist matches /«line\s+\d+$$/ ok 4 - errors from sprintf include location of error # Subtest: subsets get named in typecheck errors 1..4 # Subtest: type only, with wrong type given 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4051171520) ... } ok 1 - type only, with wrong type given # Subtest: type + where, with wrong type given 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4051171760) ... } ok 2 - type + where, with wrong type given # Subtest: type only, with failing constraint 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4051172520) ... } ok 3 - type only, with failing constraint # Subtest: type + where, with failing constraint 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4051172680) ... } ok 4 - type + where, with failing constraint ok 5 - subsets get named in typecheck errors # Subtest: like/unlike failures give useful diagnostics 1..2 # Subtest: `like` says it wanted a match, not just "expected" 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - `like` says it wanted a match, not just "expected" # Subtest: `unlike` says it wanted no match, not just "expected" 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - `unlike` says it wanted no match, not just "expected" ok 6 - like/unlike failures give useful diagnostics # Subtest: trying to bind Proc::Async to unopened handle gives useful error 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3853772640) ... } ok 7 - trying to bind Proc::Async to unopened handle gives useful error # Subtest: unclosed hash quote index operator <> message 1..2 # Subtest: good error message for unclosed <> hash operator 1..3 ok 1 - ' # # say $< # # ' died ok 2 - right exception type (Exception) ok 3 - .gist matches all(/:i:s<\'/, /:s< hash operator # Subtest: better and shorter error message for unclosed <> hash operator 1..3 ok 1 - 'say $<' died ok 2 - right exception type (X::Comp::AdHoc) not ok 3 - .gist matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3853672736) ... } # TODO remove "expecting any of:" # Failed test '.gist matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3853672736) ... }' # at SETTING::src/core.c/Rakudo/Iterator.rakumod line 5974 # Expected: -> ;; $_? is raw = OUTER::<$_> { #`(Block|3853672736) ... } # Got: ===SORRY!=== Error while compiling /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_6 # Unable to parse quote-words subscript; couldn't find '>' (corresponding '<' was at line 1) # at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_6:1 # ------> say $< # expecting any of: # argument list # term not ok 2 - better and shorter error message for unclosed <> hash operator # TODO remove "expecting any of:" # Failed test 'better and shorter error message for unclosed <> hash operator' # at t/05-messages/03-errors.t line 80 ok 8 - unclosed hash quote index operator <> message # Subtest: Don't report "missing semicolon" when semicolon present with complicated punctuation. 1..3 ok 1 - 'Int:erator:$;' died ok 2 - right exception type (X::InvalidTypeSmiley) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3853701200) ... } ok 9 - Don't report "missing semicolon" when semicolon present with complicated punctuation. # Subtest: non-found module in core namespace is not claimed to be built-in 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 10 - non-found module in core namespace is not claimed to be built-in # Subtest: X::TypeCheck does not prematurely chop off the .raku 1..3 ok 1 - ' # my class Supercalifragilisticexpialidocious {}; # (my $x := my class {}.new).^set_name: ; # -> Supercalifragilisticexpialidocious {}($x) # ' died ok 2 - right exception type (X::TypeCheck) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3853705480) ... } ok 11 - X::TypeCheck does not prematurely chop off the .raku # Subtest: .polymod with zero divisor does not reference guts in error 1..4 # Subtest: Int 1..3 ok 1 - code dies ok 2 - right exception type (X::Numeric::DivideByZero) ok 3 - .gist matches /^ [ . ]+ $/ ok 1 - Int # Subtest: Real 1..3 ok 1 - code dies ok 2 - right exception type (X::Numeric::DivideByZero) ok 3 - .gist matches /^ [ . ]+ $/ ok 2 - Real # Subtest: Int (lazy) 1..3 ok 1 - code dies ok 2 - right exception type (X::Numeric::DivideByZero) ok 3 - .gist matches /^ [ . ]+ $/ ok 3 - Int (lazy) # Subtest: Real (lazy) 1..3 ok 1 - code dies ok 2 - right exception type (X::Numeric::DivideByZero) ok 3 - .gist matches /^ [ . ]+ $/ ok 4 - Real (lazy) ok 12 - .polymod with zero divisor does not reference guts in error # Subtest: ++.++ construct does not throw LTA errors 1..2 ok 1 - '++.++' died ok 2 - right exception type (X::Multi::NoMatch) ok 13 - ++.++ construct does not throw LTA errors # Subtest: lack of whitespace in while (0){} suggests misparse as hash subscript 1..3 ok 1 - 'while (0){}' died ok 2 - right exception type (X::Syntax::Missing) ok 3 - .message matches /'whitespace' .* 'before curlies' .* 'hash subscript'/ ok 14 - lack of whitespace in while (0){} suggests misparse as hash subscript # Subtest: runtime time errors do not contain ==SORRY== 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 15 - runtime time errors do not contain ==SORRY== # Subtest: `quantifier with %` error includes the token it appears in 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 16 - `quantifier with %` error includes the token it appears in # Subtest: using two `returns` traits does not cry about unhandled CONTROl exceptions 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 17 - using two `returns` traits does not cry about unhandled CONTROl exceptions # Subtest: .classify() on Any throws 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 18 - .classify() on Any throws # Subtest: .categorize() on Any throws 1..2 ok 1 - code dies ok 2 - right exception type (Exception) ok 19 - .categorize() on Any throws # Subtest: numeric backslash errors do not get accompanied by confusing others 1..3 # Subtest: regex 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - regex # Subtest: double quotes 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - double quotes # Subtest: :qq:cc quoter 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - :qq:cc quoter ok 20 - numeric backslash errors do not get accompanied by confusing others # Subtest: heredoc trimming warnings do not reference guts 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 21 - heredoc trimming warnings do not reference guts ok 22 - X::OutOfRange does not stringify given Ranges # Subtest: Use placeholder variables in a method should yield a useful error message 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 23 - Use placeholder variables in a method should yield a useful error message # Subtest: Role methods implemented by a class are checked for return type as well as for arguments 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 24 - Role methods implemented by a class are checked for return type as well as for arguments # Subtest: Absurd adverbing results in a proper error message 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 25 - Absurd adverbing results in a proper error message # Subtest: An attempt to use a closed handle results in a proper error message 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 26 - An attempt to use a closed handle results in a proper error message # Subtest: attribute declaration in the mainline is a compile time error 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 27 - attribute declaration in the mainline is a compile time error # Subtest: signature attribute declaration in the mainline is a compile time error 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 28 - signature attribute declaration in the mainline is a compile time error # Subtest: an unknown compiler variable is reported with suggestions 1..3 ok 1 - 'my $FILA = 1; say $?FILA' died ok 2 - right exception type (X::Undeclared) ok 3 - .message matches WhateverCode.new ok 29 - an unknown compiler variable is reported with suggestions # Subtest: constraint failure on an unpassed optional parameter explains the implicit default 1..5 # Subtest: an unpassed named parameter with a subset type mentions the implicit default 1..4 ok 1 - 'my subset NonEmpty of Str where *.so; sub foo(NonEmpty :$name) { }; foo()' died ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .omitted matches WhateverCode.new ok 4 - .message matches WhateverCode.new ok 1 - an unpassed named parameter with a subset type mentions the implicit default # Subtest: an unpassed optional positional parameter with a subset type mentions the implicit default 1..3 ok 1 - 'my subset NonEmpty of Str where *.so; sub foo(NonEmpty $name?) { }; foo()' died ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches WhateverCode.new ok 2 - an unpassed optional positional parameter with a subset type mentions the implicit default # Subtest: an unpassed named parameter with a where clause mentions the implicit default 1..3 ok 1 - 'sub foo(Str :$name where *.so) { }; foo()' died ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches WhateverCode.new ok 3 - an unpassed named parameter with a where clause mentions the implicit default # Subtest: a passed value failing the constraint does not claim the parameter was not passed 1..3 ok 1 - 'my subset NonEmpty of Str where *.so; sub foo(NonEmpty :$name) { }; foo(name => "")' died ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4051075936) ... } ok 4 - a passed value failing the constraint does not claim the parameter was not passed # Subtest: an explicit default failing the constraint does not claim the parameter has none 1..3 ok 1 - 'my subset NonEmpty of Str where *.so; sub foo(NonEmpty :$name = "".lc) { }; foo()' died ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4051078816) ... } ok 5 - an explicit default failing the constraint does not claim the parameter has none ok 30 - constraint failure on an unpassed optional parameter explains the implicit default ok t/09-moar/General_Category__extracted-DerivedGeneralCategory.t .. ok 1 - Property: General_Category=Cn from file: extracted/DerivedGeneralCategory.txt (Correct: 814708 Wrong: 22). Todo'd if < 22 failures. 1..1 ok t/12-rakuast/sub.rakutest ....................................... 1..11 # Subtest: A bare sub evaluates to a Sub # sub a { } ok 1 - deparse ok 2 - AST: A sub node evaluates to a Sub ok 3 - Str: A sub node evaluates to a Sub ok 4 - Raku: A sub node evaluates to a Sub ok 5 - was a declarator automatically created ok 6 - was the leading doc stored ok 7 - was the trailing doc stored 1..7 ok 1 - A bare sub evaluates to a Sub # Subtest: A sub node evaluates to a Sub # sub ($param) { # $param # } ok 1 - deparse ok 2 - AST: A sub node evaluates to a Sub ok 3 - AST: The sub has one parameter ok 4 - AST: The block has 1 arity ok 5 - AST: The block has 1 count ok 6 - AST: Invoking the sub with an argument returns the expected value ok 7 - AST: Invoking the sub without an argument dies ok 8 - Str: A sub node evaluates to a Sub ok 9 - Str: The sub has one parameter ok 10 - Str: The block has 1 arity ok 11 - Str: The block has 1 count ok 12 - Str: Invoking the sub with an argument returns the expected value ok 13 - Str: Invoking the sub without an argument dies ok 14 - Raku: A sub node evaluates to a Sub ok 15 - Raku: The sub has one parameter ok 16 - Raku: The block has 1 arity ok 17 - Raku: The block has 1 count ok 18 - Raku: Invoking the sub with an argument returns the expected value ok 19 - Raku: Invoking the sub without an argument dies 1..19 ok 2 - A sub node evaluates to a Sub # Subtest: Can call a named sub declaration # sub my-sub ($param) { # $param # } # my-sub(66) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Can call a named sub declaration # Subtest: A routine declared anonymous does not declare anything # anon sub my-sub { # 66 # } # my-sub() ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - A routine declared anonymous does not declare anything # Subtest: A sub node with a trait evaluates to a Sub # sub foo returns Int { # 66 # } ok 1 - deparse ok 2 - AST: A sub node with a trait evaluates to a Sub ok 3 - AST: The returns trait was applied and .returns is correct ok 4 - AST: It also does the correct parametric Callable ok 5 - Str: A sub node with a trait evaluates to a Sub ok 6 - Str: The returns trait was applied and .returns is correct ok 7 - Str: It also does the correct parametric Callable ok 8 - Raku: A sub node with a trait evaluates to a Sub ok 9 - Raku: The returns trait was applied and .returns is correct ok 10 - Raku: It also does the correct parametric Callable 1..10 ok 5 - A sub node with a trait evaluates to a Sub # Subtest: Return type constraint # sub foo returns Int { # $x # } ok 1 - deparse ok 2 - AST: type matches ok 3 - AST: type does not match ok 4 - Str: type matches ok 5 - Str: type does not match ok 6 - Raku: type matches ok 7 - Raku: type does not match 1..7 ok 6 - Return type constraint # Subtest: Using return with acceptable type works # sub foo returns Int { # return $x # } ok 1 - deparse ok 2 - AST: type matches ok 3 - AST: type does not match ok 4 - Str: type matches ok 5 - Str: type does not match ok 6 - Raku: type matches ok 7 - Raku: type does not match 1..7 ok 7 - Using return with acceptable type works # Subtest: Using a string literal works # sub ("Bee") { # 42 # } ok 1 - deparse ok 2 - AST: type matches ok 3 - AST: type does not match ok 4 - Str: type matches ok 5 - Str: type does not match ok 6 - Raku: type matches ok 7 - Raku: type does not match 1..7 ok 8 - Using a string literal works # Subtest: creating a proto sub works # proto sub zippo (|) { # 42 # } ok 1 - deparse ok 2 - AST: did we return a dispatcher ok 3 - did we get no dispatchees ok 4 - AST: can call without args ok 5 - AST: can call with positionals ok 6 - AST: can call with nameds ok 7 - Str: did we return a dispatcher ok 8 - did we get no dispatchees ok 9 - Str: can call without args ok 10 - Str: can call with positionals ok 11 - Str: can call with nameds ok 12 - Raku: did we return a dispatcher ok 13 - did we get no dispatchees ok 14 - Raku: can call without args ok 15 - Raku: can call with positionals ok 16 - Raku: can call with nameds 1..16 ok 9 - creating a proto sub works # Subtest: creating a multi sub without proto works # multi sub frobnicate { # 42 # } # &frobnicate ok 1 - deparse ok 2 - did we create a dispatcher ok 3 - did we get 1 dispatchee ok 4 - can call without args ok 5 - can NOT call with positionals ok 6 - can NOT call with nameds ok 7 - did we create a dispatcher ok 8 - did we get 1 dispatchee ok 9 - can call without args ok 10 - can NOT call with positionals ok 11 - can NOT call with nameds ok 12 - did we create a dispatcher ok 13 - did we get 1 dispatchee ok 14 - can call without args ok 15 - can NOT call with positionals ok 16 - can NOT call with nameds 1..16 ok 10 - creating a multi sub without proto works # Subtest: creating a multi sub with existing proto works # multi sub frobnicate { # 42 # } ok 1 - deparse ok 2 - did we get a normal sub ok 3 - can call without args ok 4 - can NOT call with positionals ok 5 - can NOT call with nameds ok 6 - did we get a normal sub ok 7 - can call without args ok 8 - can NOT call with positionals ok 9 - can NOT call with nameds ok 10 - did we get a normal sub ok 11 - can call without args ok 12 - can NOT call with positionals ok 13 - can NOT call with nameds 1..13 ok 11 - creating a multi sub with existing proto works ok t/02-rakudo/sink-warnings-legacy-parity.t ....................... 1..23 ok 1 - `,` is not a useless-use subject for `1, 2, 3;` ok 2 - the constant integer operand of `1, 2, 3;` is still a useless-use subject ok 3 - `...` is not a useless-use subject for a stubbed method body ok 4 - `???` is not a useless-use subject for a stubbed method body ok 5 - `!!!` is not a useless-use subject for a stubbed method body ok 6 - `rand` is not a useless-use subject at statement level ok 7 - `*` is not a useless-use subject at statement level ok 8 - `**` is not a useless-use subject at statement level ok 9 - `temp` is not a useless-use subject in sink context ok 10 - `let` is not a useless-use subject in sink context ok 11 - a user-defined prefix without `is pure` is not a useless-use subject ok 12 - a user-defined infix without `is pure` is not a useless-use subject ok 13 - a user-defined prefix declared `is pure` is a useless-use subject ok 14 - a user-defined infix declared `is pure` is a useless-use subject ok 15 - `{*}` is not a useless-use subject in a non-tail proto body ok 16 - `Z=` produces no useless-use subjects in sink context ok 17 - `X=` produces no useless-use subjects in sink context ok 18 - `R=` produces no useless-use subjects in sink context ok 19 - `Z+` of a pure operator is still a useless-use subject in sink context ok 20 - the operands of a sunk `Z+` are not useless-use subjects ok 21 - sunk `Z=` assigned zipwise ok 22 - sunk `X=` assigned each element ok 23 - sunk `R=` assigned to its right operand ok t/12-rakuast/terms.rakutest ..................................... 1..14 # Subtest: Method call via self # my class TestClass { # method meth-a { # 99 # } # method meth-b { # self.meth-a # } # } ok 1 - deparse ok 2 - AST: Method call via self works ok 3 - Str: Method call via self works ok 4 - Raku: Method call via self works 1..4 ok 1 - Method call via self # Subtest: Topic call applies the call to $_ # given "argh" { # .uc # } ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Topic call applies the call to $_ # Subtest: Topic call can be bound to # given %(:a(1)) { # . := .; # $_ # } ok 1 - AST ok 2 - Str ok 3 - Raku 1..3 ok 3 - Topic call can be bound to # Subtest: now named term can be called # now ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - now named term can be called # Subtest: rand term works # rand ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - rand term works # Subtest: Empty set term works # ∅ ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Empty set term works # Subtest: Name term works with single-part name # True ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - Name term works with single-part name # Subtest: Name term works with multi-part name # Bool::True ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - Name term works with multi-part name # Subtest: Whatever term works # * ok 1 - deparse ok 2 - The object is-a 'Whatever' ok 3 - The object is-a 'Whatever' ok 4 - The object is-a 'Whatever' 1..4 ok 9 - Whatever term works # Subtest: Hyperwhatever term works # ** ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 10 - Hyperwhatever term works # Subtest: Capture term can be constructed with a term # \($var) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 11 - Capture term can be constructed with a term # Subtest: Capture term can be constructed with an arg list # \(6, :x) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 12 - Capture term can be constructed with an arg list # Subtest: Radix number term # :16("abc") ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 13 - Radix number term # Subtest: Radix number term with multiple args # :16[1, 2, 3] ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 14 - Radix number term with multiple args ok t/13-experimental/macros-quasi-blocks.rakutest .................. WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/t/13-experimental/macros-quasi-blocks.rakutest: Useless use of constant integer 1 in sink context (line 64) Useless use of constant integer 2 in sink context (line 64) Useless use of constant string "grasshopper" in sink context (line 73) Useless use of constant string "motor oil" in sink context (line 73) 1..12 ok 1 - calls to macro are at parse time ok 2 - macro call with arguments works ok 3 - macro calls without parens work ok 4 - macro call with arguments works ok 5 - can define an entirely new operator ok 6 - can shadow an existing operator ok 7 - lexical lookup from quasi to macro works ok 8 - lexical lookup from quasi to macro params works ok 9 - macro can return its param ok 10 - Nil from an empty block turns into no code ok 11 - addition of two quasis with arithmetical expressions works (1) ok 12 - addition of two quasis with arithmetical expressions works (2) ok t/12-rakuast/postfix.rakutest ................................... 1..20 # Subtest: Application of a positive power postfix operator # 3²² ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - Application of a positive power postfix operator # Subtest: Application of a negative power postfix operator # 4⁻² ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Application of a negative power postfix operator # Subtest: Application of a (user-defined) postfix operator to a literal # 4! ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Application of a (user-defined) postfix operator to a literal # Subtest: Basic single-dimension array index # @a[5] ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Basic single-dimension array index # Subtest: Basic single-dimension array index with colonpair # @a[5]:exists ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Basic single-dimension array index with colonpair # Subtest: Zen array slice # @a[] ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Zen array slice # Subtest: Zen array slice # @a[]:v ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - Zen array slice # Subtest: Multi-dimensional array indexing # @a[2; 1] ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - Multi-dimensional array indexing # Subtest: Basic single-dimension hash index # %h{"s"} ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 9 - Basic single-dimension hash index # Subtest: Basic single-dimension hash index with colonpairs # %h{"s"}:p ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 10 - Basic single-dimension hash index with colonpairs # Subtest: Zen hash slice # %h{} ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 11 - Zen hash slice # Subtest: Zen hash slice with colonpairs # %h{}:k ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 12 - Zen hash slice with colonpairs # Subtest: Basic literal hash index # %h ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 13 - Basic literal hash index # Subtest: Basic literal hash index with colonpairs # %h:exists ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 14 - Basic literal hash index with colonpairs # Subtest: Literal hash index with multiple keys # %h ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 15 - Literal hash index with multiple keys # Subtest: Literal hash index with multiple keys with colonpairs # %h:exists ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 16 - Literal hash index with multiple keys with colonpairs # Subtest: Empty literal hash index works as zen slice # %h<> ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 17 - Empty literal hash index works as zen slice # Subtest: Empty literal hash index works as zen slice with colonpairs # %h<>:v ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 18 - Empty literal hash index works as zen slice with colonpairs # Subtest: Multi-dimensional hash indexing # %h{"y"; "a"} ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 19 - Multi-dimensional hash indexing # Subtest: Multi-dimensional hash indexing with colonpairs # %h{"y"; "a"}:v ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 20 - Multi-dimensional hash indexing with colonpairs ok t/12-rakuast/signature.rakutest ................................. 1..15 # Subtest: Default type for block and routine # sub ($param) { } ok 1 - deparse not ok 2 - AST: Default type of param # TODO Returns Mu instead of Any # Failed test 'AST: Default type of param' # at t/12-rakuast/signature.rakutest line 32 ok 3 - Str: Default type of param # TODO Returns Mu instead of Any not ok 4 - Raku: Default type of param # TODO Returns Mu instead of Any # Failed test 'Raku: Default type of param' # at t/12-rakuast/signature.rakutest line 32 1..4 ok 1 - Default type for block and routine # Subtest: Default type for block and routine # -> $param { } ok 1 - deparse ok 2 - AST: Default type of block ok 3 - Str: Default type of block ok 4 - Raku: Default type of block 1..4 ok 2 - Default type for block and routine # Subtest: Type constraint is enforced on Scalar # sub (Int $x) { } ok 1 - deparse ok 2 - AST: Specified type is introspectable ok 3 - AST: Passing correct type lives ok 4 - AST: Passing wrong type dies ok 5 - Str: Specified type is introspectable ok 6 - Str: Passing correct type lives ok 7 - Str: Passing wrong type dies ok 8 - Raku: Specified type is introspectable ok 9 - Raku: Passing correct type lives ok 10 - Raku: Passing wrong type dies 1..10 ok 3 - Type constraint is enforced on Scalar # Subtest: Anonymous parameter still enforces type constraint # sub (Int) { } ok 1 - deparse ok 2 - AST: Specified type is introspectable ok 3 - AST: Passing correct type lives ok 4 - AST: Passing wrong type dies ok 5 - Str: Specified type is introspectable ok 6 - Str: Passing correct type lives ok 7 - Str: Passing wrong type dies ok 8 - Raku: Specified type is introspectable ok 9 - Raku: Passing correct type lives ok 10 - Raku: Passing wrong type dies 1..10 ok 4 - Anonymous parameter still enforces type constraint # Subtest: Optional Scalar parameter defaults to type object # sub (Int $x?) { # $x # } ok 1 - deparse ok 2 - AST: Parameter introspects as optional ok 3 - AST: Correct arity ok 4 - AST: Correct count ok 5 - AST: Passing an argument gets the value ok 6 - AST: Passing no argument gets the type object ok 7 - Str: Parameter introspects as optional ok 8 - Str: Correct arity ok 9 - Str: Correct count ok 10 - Str: Passing an argument gets the value ok 11 - Str: Passing no argument gets the type object ok 12 - Raku: Parameter introspects as optional ok 13 - Raku: Correct arity ok 14 - Raku: Correct count ok 15 - Raku: Passing an argument gets the value ok 16 - Raku: Passing no argument gets the type object 1..16 ok 5 - Optional Scalar parameter defaults to type object # Subtest: One required named parameter # sub (:$named!) { # $named # } ok 1 - deparse ok 2 - AST: Sub has one params elem ok 3 - AST: The block has 0 arity ok 4 - AST: The block has 0 count ok 5 - AST: Correct variable name ok 6 - AST: Correct named name ok 7 - AST: It is not optional ok 8 - AST: Invoking the sub with a named argument works ok 9 - AST: Invoking the sub without an argument dies ok 10 - Str: Sub has one params elem ok 11 - Str: The block has 0 arity ok 12 - Str: The block has 0 count ok 13 - Str: Correct variable name ok 14 - Str: Correct named name ok 15 - Str: It is not optional ok 16 - Str: Invoking the sub with a named argument works ok 17 - Str: Invoking the sub without an argument dies ok 18 - Raku: Sub has one params elem ok 19 - Raku: The block has 0 arity ok 20 - Raku: The block has 0 count ok 21 - Raku: Correct variable name ok 22 - Raku: Correct named name ok 23 - Raku: It is not optional ok 24 - Raku: Invoking the sub with a named argument works ok 25 - Raku: Invoking the sub without an argument dies 1..25 ok 6 - One required named parameter # Subtest: Required named parameter with alias # sub (:first(:fst($var))!) { # $var # } ok 1 - deparse ok 2 - AST: Sub has one params elem ok 3 - AST: The block has 0 arity ok 4 - AST: The block has 0 count ok 5 - AST: Correct variable name ok 6 - AST: Correct named names ok 7 - AST: It is not optional ok 8 - AST: Invoking the sub with first alias works ok 9 - AST: Invoking the sub with second alias works ok 10 - AST: Invoking the sub without an argument dies ok 11 - AST: Invoking the sub with non-named name dies ok 12 - Str: Sub has one params elem ok 13 - Str: The block has 0 arity ok 14 - Str: The block has 0 count ok 15 - Str: Correct variable name ok 16 - Str: Correct named names ok 17 - Str: It is not optional ok 18 - Str: Invoking the sub with first alias works ok 19 - Str: Invoking the sub with second alias works ok 20 - Str: Invoking the sub without an argument dies ok 21 - Str: Invoking the sub with non-named name dies ok 22 - Raku: Sub has one params elem ok 23 - Raku: The block has 0 arity ok 24 - Raku: The block has 0 count ok 25 - Raku: Correct variable name ok 26 - Raku: Correct named names ok 27 - Raku: It is not optional ok 28 - Raku: Invoking the sub with first alias works ok 29 - Raku: Invoking the sub with second alias works ok 30 - Raku: Invoking the sub without an argument dies ok 31 - Raku: Invoking the sub with non-named name dies 1..31 ok 7 - Required named parameter with alias # Subtest: Slurpy hash parameter # sub (*%h) { # %h # } ok 1 - deparse ok 2 - AST: Parameter introspects as slurpy ok 3 - AST: Parameter introspects as named ok 4 - AST: Correct arity ok 5 - AST: Correct count ok 6 - AST: Passing no argument gets empty hash ok 7 - AST: Passing one named argument has correct hash ok 8 - AST: Passing two named arguments has correct hash ok 9 - Str: Parameter introspects as slurpy ok 10 - Str: Parameter introspects as named ok 11 - Str: Correct arity ok 12 - Str: Correct count ok 13 - Str: Passing no argument gets empty hash ok 14 - Str: Passing one named argument has correct hash ok 15 - Str: Passing two named arguments has correct hash ok 16 - Raku: Parameter introspects as slurpy ok 17 - Raku: Parameter introspects as named ok 18 - Raku: Correct arity ok 19 - Raku: Correct count ok 20 - Raku: Passing no argument gets empty hash ok 21 - Raku: Passing one named argument has correct hash ok 22 - Raku: Passing two named arguments has correct hash 1..22 ok 8 - Slurpy hash parameter # Subtest: Slurpy flattening array parameter # sub (*@a) { # @a # } ok 1 - deparse ok 2 - AST: Parameter introspects as slurpy ok 3 - AST: Parameter does not introspect as named ok 4 - AST: Correct arity ok 5 - AST: Correct count ok 6 - AST: Passing no argument gets empty array ok 7 - AST: Passing one argument has correct array ok 8 - AST: Passing two arguments has correct array ok 9 - AST: Flattening happens ok 10 - Str: Parameter introspects as slurpy ok 11 - Str: Parameter does not introspect as named ok 12 - Str: Correct arity ok 13 - Str: Correct count ok 14 - Str: Passing no argument gets empty array ok 15 - Str: Passing one argument has correct array ok 16 - Str: Passing two arguments has correct array ok 17 - Str: Flattening happens ok 18 - Raku: Parameter introspects as slurpy ok 19 - Raku: Parameter does not introspect as named ok 20 - Raku: Correct arity ok 21 - Raku: Correct count ok 22 - Raku: Passing no argument gets empty array ok 23 - Raku: Passing one argument has correct array ok 24 - Raku: Passing two arguments has correct array ok 25 - Raku: Flattening happens 1..25 ok 9 - Slurpy flattening array parameter # Subtest: Slurpy non-flattening array parameter # sub (**@a) { # @a # } ok 1 - deparse ok 2 - AST: Parameter introspects as slurpy ok 3 - AST: Parameter does not introspect as named ok 4 - AST: Correct arity ok 5 - AST: Correct count ok 6 - AST: Passing no argument gets empty array ok 7 - AST: Passing one argument has correct array ok 8 - AST: Passing two arguments has correct array ok 9 - AST: Flattening does not happen ok 10 - AST: Passing a list results in one-element array with the list ok 11 - Str: Parameter introspects as slurpy ok 12 - Str: Parameter does not introspect as named ok 13 - Str: Correct arity ok 14 - Str: Correct count ok 15 - Str: Passing no argument gets empty array ok 16 - Str: Passing one argument has correct array ok 17 - Str: Passing two arguments has correct array ok 18 - Str: Flattening does not happen ok 19 - Str: Passing a list results in one-element array with the list ok 20 - Raku: Parameter introspects as slurpy ok 21 - Raku: Parameter does not introspect as named ok 22 - Raku: Correct arity ok 23 - Raku: Correct count ok 24 - Raku: Passing no argument gets empty array ok 25 - Raku: Passing one argument has correct array ok 26 - Raku: Passing two arguments has correct array ok 27 - Raku: Flattening does not happen ok 28 - Raku: Passing a list results in one-element array with the list 1..28 ok 10 - Slurpy non-flattening array parameter # Subtest: Slurpy single arg rule array parameter # sub (+@a) { # @a # } ok 1 - deparse ok 2 - AST: Parameter introspects as slurpy ok 3 - AST: Parameter does not introspect as named ok 4 - AST: Correct arity ok 5 - AST: Correct count ok 6 - AST: Passing no argument gets empty array ok 7 - AST: Passing one argument has correct array ok 8 - AST: Passing two arguments has correct array ok 9 - AST: Flattening does not happen ok 10 - AST: Passing a list is treated as the single argument ok 11 - Str: Parameter introspects as slurpy ok 12 - Str: Parameter does not introspect as named ok 13 - Str: Correct arity ok 14 - Str: Correct count ok 15 - Str: Passing no argument gets empty array ok 16 - Str: Passing one argument has correct array ok 17 - Str: Passing two arguments has correct array ok 18 - Str: Flattening does not happen ok 19 - Str: Passing a list is treated as the single argument ok 20 - Raku: Parameter introspects as slurpy ok 21 - Raku: Parameter does not introspect as named ok 22 - Raku: Correct arity ok 23 - Raku: Correct count ok 24 - Raku: Passing no argument gets empty array ok 25 - Raku: Passing one argument has correct array ok 26 - Raku: Passing two arguments has correct array ok 27 - Raku: Flattening does not happen ok 28 - Raku: Passing a list is treated as the single argument 1..28 ok 11 - Slurpy single arg rule array parameter # Subtest: Sigilless parameter # sub (Int \trm) { # trm # } ok 1 - deparse ok 2 - AST: Type is introspectable ok 3 - AST: The name matches ok 4 - AST: The term can be resolved in the sub ok 5 - AST: Passing wrong type dies ok 6 - Str: Type is introspectable ok 7 - Str: The name matches ok 8 - Str: The term can be resolved in the sub ok 9 - Str: Passing wrong type dies ok 10 - Raku: Type is introspectable ok 11 - Raku: The name matches ok 12 - Raku: The term can be resolved in the sub ok 13 - Raku: Passing wrong type dies 1..13 ok 12 - Sigilless parameter # Subtest: Capture parameter # sub (|c) { # c # } ok 1 - deparse ok 2 - AST: Parameter introspects as a capture ok 3 - AST: Correct arity ok 4 - AST: Correct count ok 5 - AST: Passing no argument gets empty capture ok 6 - AST: Passing positional arguments gets correct capture ok 7 - AST: Flattening does not happen ok 8 - AST: Passing named arguments gets correct capture ok 9 - AST: Passing a mix of positional and named arguments gets correct capture ok 10 - Str: Parameter introspects as a capture ok 11 - Str: Correct arity ok 12 - Str: Correct count ok 13 - Str: Passing no argument gets empty capture ok 14 - Str: Passing positional arguments gets correct capture ok 15 - Str: Flattening does not happen ok 16 - Str: Passing named arguments gets correct capture ok 17 - Str: Passing a mix of positional and named arguments gets correct capture ok 18 - Raku: Parameter introspects as a capture ok 19 - Raku: Correct arity ok 20 - Raku: Correct count ok 21 - Raku: Passing no argument gets empty capture ok 22 - Raku: Passing positional arguments gets correct capture ok 23 - Raku: Flattening does not happen ok 24 - Raku: Passing named arguments gets correct capture ok 25 - Raku: Passing a mix of positional and named arguments gets correct capture 1..25 ok 13 - Capture parameter # Subtest: Parameter with sub-signature destructure # sub ($pair ($k, $v)) { # "$k|$v" # } ok 1 - AST: positional sub-signature destructure binds ok 2 - Str: positional sub-signature destructure binds ok 3 - Raku: positional sub-signature destructure binds 1..3 ok 14 - Parameter with sub-signature destructure # Subtest: set-sub-signature mutator on a Parameter ok 1 - mutator path: destructure binds 1..1 ok 15 - set-sub-signature mutator on a Parameter ok t/12-rakuast/operators.rakutest ................................. 1..30 # Subtest: Application of an infix operator on two literals # 44 + 22 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - Application of an infix operator on two literals # Subtest: The special form || operator works (1) # 22 || 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - The special form || operator works (1) # Subtest: The special form || operator works (2) # 0 || 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - The special form || operator works (2) # Subtest: The special form or operator works (1) # 22 or 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - The special form or operator works (1) # Subtest: The special form or operator works (2) # 0 or 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - The special form or operator works (2) # Subtest: The special form && operator works (1) # 22 && 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - The special form && operator works (1) # Subtest: The special form && operator works (2) # 0 && 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - The special form && operator works (2) # Subtest: The special form and operator works (1) # 22 and 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - The special form and operator works (1) # Subtest: The special form and operator works (2) # 0 and 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 9 - The special form and operator works (2) # Subtest: Application of a prefix operator to a literal (1) # ?2 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 10 - Application of a prefix operator to a literal (1) # Subtest: Application of a prefix operator to a literal (2) # ?0 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 11 - Application of a prefix operator to a literal (2) # Subtest: Basic assignment to a Scalar container # $a = 4 ok 1 - deparse ok 2 - AST: return value is ok ok 3 - AST: was variable set ok ok 4 - Str: return value is ok ok 5 - Str: was variable set ok ok 6 - Raku: return value is ok ok 7 - Raku: was variable set ok 1..7 ok 12 - Basic assignment to a Scalar container # Subtest: Application of a list infix operator on three operands # 10, 11, 12 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 13 - Application of a list infix operator on three operands # Subtest: Application of a list infix operator on no operands # () ok 1 - deparse ok 2 - AST ok 3 - Str 1..3 ok 14 - Application of a list infix operator on no operands # Subtest: Chaining operator has correct outcome # 5 > $x++ > 3 ok 1 - deparse ok 2 - AST: did the expression get evaluated ok 3 - AST: was the update done ok 4 - Str: did the expression get evaluated ok 5 - Str: was the update done ok 6 - Raku: did the expression get evaluated ok 7 - Raku: was the update done 1..7 ok 15 - Chaining operator has correct outcome # Subtest: Correct outcome of ternary operator # $a ?? 22 !! 33 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 5 - AST ok 6 - Str ok 7 - Raku 1..7 ok 16 - Correct outcome of ternary operator # Subtest: Correct outcome of nested ternary operator # $a # ?? $b # ?? 22 # !! 33 # !! 44 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku ok 5 - AST ok 6 - Str ok 7 - Raku ok 8 - AST ok 9 - Str ok 10 - Raku ok 11 - AST ok 12 - Str ok 13 - Raku 1..13 ok 17 - Correct outcome of nested ternary operator # Subtest: Application of dotty infix `.` # "foo" .uc ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 18 - Application of dotty infix `.` # Subtest: Application of dotty infix `.=` evaluates to expected value # $var .= tc ok 1 - deparse ok 2 - AST: did we get the right value ok 3 - AST: was the value stored ok 4 - Str: did we get the right value ok 5 - Str: was the value stored ok 6 - Raku: did we get the right value ok 7 - Raku: was the value stored 1..7 ok 19 - Application of dotty infix `.=` evaluates to expected value # Subtest: Application of a function infix on two literals # 44 [&sum] 22 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 20 - Application of a function infix on two literals # Subtest: Application of ff # @source.grep({ "A" ff "B" }) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 21 - Application of ff # Subtest: Application of ^ff # @source.grep({ "A" ^ff "B" }) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 22 - Application of ^ff # Subtest: Application of ff^ # @source.grep({ "A" ff^ "B" }) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 23 - Application of ff^ # Subtest: Application of ^ff^ # @source.grep({ "A" ^ff^ "B" }) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 24 - Application of ^ff^ # Subtest: Application of fff # @source.grep({ /A/ fff /B/ }) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 25 - Application of fff # Subtest: Application of ^fff # @source.grep({ /A/ ^fff /B/ }) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 26 - Application of ^fff # Subtest: Application of fff^ # @source.grep({ /A/ fff^ /B/ }) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 27 - Application of fff^ # Subtest: Application of ^fff^ # @source.grep({ /A/ ^fff^ /B/ }) ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 28 - Application of ^fff^ # Subtest: Feed operation ==> # @a ==> map(&flip) ==> @b ok 1 - deparse ok 2 - AST: EVAL ==> ok 3 - AST: stored ==> ok 4 - Str: EVAL ==> ok 5 - Str: stored ==> ok 6 - Raku: EVAL ==> ok 7 - Raku: stored ==> 1..7 ok 29 - Feed operation ==> # Subtest: Feed operation <== # @b <== map(&flip) <== @a ok 1 - deparse ok 2 - AST: EVAL <== ok 3 - AST: stored <== ok 4 - Str: EVAL <== ok 5 - Str: stored <== ok 6 - Raku: EVAL <== ok 7 - Raku: stored <== 1..7 ok 30 - Feed operation <== ok t/02-rakudo/32-io-operators.t ................................... 1..4 # Subtest: chmod across the revisions # Subtest: [v6.c] chmod with nonexistent file produces empty array 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - [v6.c] chmod with nonexistent file produces empty array # Subtest: [v6.d] chmod with nonexistent file produces empty array 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - [v6.d] chmod with nonexistent file produces empty array # Subtest: [v6.e] chmod with multiple nonexistent files and old signature produces empty array and expected deprecation message 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - [v6.e] chmod with multiple nonexistent files and old signature produces empty array and expected deprecation message # Subtest: [v6.e] chmod with single nonexistent file (Str) and old signature produces empty array and expected deprecation message ' 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - [v6.e] chmod with single nonexistent file (Str) and old signature produces empty array and expected deprecation message ' # Subtest: [v6.e] chmod with single nonexistent file (IO) and old signature produces empty array and expected deprecation message ' 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - [v6.e] chmod with single nonexistent file (IO) and old signature produces empty array and expected deprecation message ' # Subtest: chmod with nonexistent file (Str) produces Failure 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - chmod with nonexistent file (Str) produces Failure # Subtest: chmod with nonexistent file (IO) produces Failure 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - chmod with nonexistent file (IO) produces Failure 1..7 ok 1 - chmod across the revisions # Subtest: chown across the revisions # Subtest: [v6.c] chown with nonexistent file produces empty array 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - [v6.c] chown with nonexistent file produces empty array # Subtest: [v6.d] chown with nonexistent file produces empty array 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - [v6.d] chown with nonexistent file produces empty array # Subtest: [v6.e] chown with multiple nonexistent files (UID + GID) produces empty array and deprecation 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - [v6.e] chown with multiple nonexistent files (UID + GID) produces empty array and deprecation # Subtest: [v6.e] chown with multiple nonexistent files (UID) produces empty array and deprecation 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - [v6.e] chown with multiple nonexistent files (UID) produces empty array and deprecation # Subtest: [v6.e] chown with multiple nonexistent files (GID) produces empty array and deprecation 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - [v6.e] chown with multiple nonexistent files (GID) produces empty array and deprecation # Subtest: [v6.e] chown with nonexistent file (Str) produces Failure 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - [v6.e] chown with nonexistent file (Str) produces Failure # Subtest: [v6.e] chown with nonexistent file (IO) produces Failure 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - [v6.e] chown with nonexistent file (IO) produces Failure 1..7 ok 2 - chown across the revisions # Subtest: unlink across the revisions # Subtest: [v6.c] unlink with nonexistent file produces array containing file name 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - [v6.c] unlink with nonexistent file produces array containing file name # Subtest: [v6.d] unlink with nonexistent file produces array containing file name 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - [v6.d] unlink with nonexistent file produces array containing file name # Subtest: [v6.e] unlink with multiple nonexistent files produces empty array and deprecation 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - [v6.e] unlink with multiple nonexistent files produces empty array and deprecation # Subtest: [v6.e] unlink with nonexistent file (Str) produces True 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - [v6.e] unlink with nonexistent file (Str) produces True # Subtest: [v6.e] chown with nonexistent file (IO) produces True 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - [v6.e] chown with nonexistent file (IO) produces True 1..5 ok 3 - unlink across the revisions # Subtest: rmdir across the revisions # Subtest: [v6.c] rmdir with nonexistent directory produces empty array 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - [v6.c] rmdir with nonexistent directory produces empty array # Subtest: [v6.d] unlink with nonexistent directory produces empty array 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - [v6.d] unlink with nonexistent directory produces empty array # Subtest: [v6.e] rmdir with multiple nonexistent directory produces empty array and deprecation 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - [v6.e] rmdir with multiple nonexistent directory produces empty array and deprecation # Subtest: [v6.e] rmdir with nonexistent file (Str) produces True 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - [v6.e] rmdir with nonexistent file (Str) produces True # Subtest: [v6.e] rmdir with nonexistent file (IO) produces True 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - [v6.e] rmdir with nonexistent file (IO) produces True 1..5 ok 4 - rmdir across the revisions ok t/05-messages/10-warnings.t ..................................... 1..18 # Subtest: Supply.interval with negative value warns 1..2 ok 1 - useful warning ok 2 - intervaled code ran ok 1 - Supply.interval with negative value warns # Subtest: no useless-use warning on return when KEEP/UNDO phasers used 1..3 # Subtest: we get warnings with phasers that do not care about return value 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - we get warnings with phasers that do not care about return value # Subtest: no warnings with KEEP phaser 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - no warnings with KEEP phaser # Subtest: no warnings with UNDO phaser 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - no warnings with UNDO phaser ok 2 - no useless-use warning on return when KEEP/UNDO phasers used # Subtest: no useless-use warning in andthen/notandthen/orelse/ chains 1..2 # Subtest: we get warnings when last value is useless 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - we get warnings when last value is useless # Subtest: no warnings when last value is useful 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - no warnings when last value is useful ok 3 - no useless-use warning in andthen/notandthen/orelse/ chains # Subtest: no spurious warnings when invoking colonpaired routine 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - no spurious warnings when invoking colonpaired routine # Subtest: metaops + metaassign op do not produce spurious warnings 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - metaops + metaassign op do not produce spurious warnings # Subtest: no spurious warnings with `try` thunks in blocks 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - no spurious warnings with `try` thunks in blocks # Subtest: no warnings when sinking variables 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - no warnings when sinking variables # Subtest: args to macros do not cause useless use warnings 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 8 - args to macros do not cause useless use warnings # Subtest: ignored shape specification issues a warning 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 9 - ignored shape specification issues a warning # Subtest: has-scoped method in mainline warns with file and line 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 10 - has-scoped method in mainline warns with file and line # Subtest: has-scoped method in a package warns with file and line 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 11 - has-scoped method in a package warns with file and line # Subtest: use fatal promotes the useless method declaration worry to an error 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 12 - use fatal promotes the useless method declaration worry to an error ok 13 - # SKIP legacy frontend does not warn on a dangling leading declarator doc # Subtest: duplicate trait warns with file and line 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 14 - duplicate trait warns with file and line # Subtest: accessor generation outside a package warns with file and line 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 15 - accessor generation outside a package warns with file and line # Subtest: class replacing a same-named enclosing package warns with file and line 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 16 - class replacing a same-named enclosing package warns with file and line # Subtest: use fatal promotes the same-named enclosing package worry to an error 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 17 - use fatal promotes the same-named enclosing package worry to an error # Subtest: the last statement of a when block in value position stays wanted 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 18 - the last statement of a when block in value position stays wanted ok t/12-rakuast/regex-assertion.rakutest ........................... 1..27 # Subtest: Named assertion matches correctly # // ok 1 - deparse ok 2 - AST: did we get correct match ok 3 - AST: correct match keys ok 4 - AST: correct match captured ok 5 - Str: did we get correct match ok 6 - Str: correct match keys ok 7 - Str: correct match captured ok 8 - Raku: did we get correct match ok 9 - Raku: correct match keys ok 10 - Raku: correct match captured 1..10 ok 1 - Named assertion matches correctly # Subtest: Non-capturing named assertion matches correctly # /<.alpha>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 2 - Non-capturing named assertion matches correctly # Subtest: Named assertion with alias matches correctly # // ok 1 - deparse ok 2 - AST: did we get correct match ok 3 - AST: correct match keys ok 4 - AST: correct match captured (original name) ok 5 - AST: correct match captured (aliased name) ok 6 - Str: did we get correct match ok 7 - Str: correct match keys ok 8 - Str: correct match captured (original name) ok 9 - Str: correct match captured (aliased name) 1..9 ok 3 - Named assertion with alias matches correctly # Subtest: Non-capturing named assertion with alias matches correctly # // ok 1 - deparse ok 2 - AST: did we get correct match ok 3 - AST: correct match keys ok 4 - AST: correct match captured (aliased name) ok 5 - Str: did we get correct match ok 6 - Str: correct match keys ok 7 - Str: correct match captured (aliased name) 1..7 ok 4 - Non-capturing named assertion with alias matches correctly # Subtest: Lookahead assertion with named rule works # /\w/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 5 - Lookahead assertion with named rule works # Subtest: Negated lookahead assertion with named rule works # /\w/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 6 - Negated lookahead assertion with named rule works # Subtest: Lookahead assertion calling before with a regex arg works # /\w/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 7 - Lookahead assertion calling before with a regex arg works # Subtest: Negated lookahead assertion calling before with a regex arg works # /\w/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 8 - Negated lookahead assertion calling before with a regex arg works # Subtest: Character class enumeration assertion works # /<+[a \d c..f]>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 9 - Character class enumeration assertion works # Subtest: Negated character class enumeration assertion works # /<-[a \d c..f]>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 10 - Negated character class enumeration assertion works # Subtest: Character property assertion works # /<+:N>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 11 - Character property assertion works # Subtest: Inverted character property assertion works # /<+:!N>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 12 - Inverted character property assertion works # Subtest: Negated character property assertion works # /<-:N>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 13 - Negated character property assertion works # Subtest: Multiple character property assertion works # /<+:L -:Lu>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 14 - Multiple character property assertion works # Subtest: Character property with expression assertion works # /<+:Block("Basic Latin")>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 15 - Character property with expression assertion works # Subtest: Negated character property with expression assertion works # /<-:Block("Basic Latin")>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 16 - Negated character property with expression assertion works # Subtest: Rule assertion works # /<+alpha>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 17 - Rule assertion works # Subtest: Negated rule assertion works # /<-alpha>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 18 - Negated rule assertion works # Subtest: Multiple rule assertions work # /<+alpha -xdigit>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 19 - Multiple rule assertions work # Subtest: Pass assertion works # /a / ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 20 - Pass assertion works # Subtest: Fail assertion works # /a / ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL ok 2 - Str: EVAL ok 3 - Raku: EVAL ok 2 - doesn't match 1..2 ok 21 - Fail assertion works # Subtest: Assertion with predicate block works # /o/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 22 - Assertion with predicate block works # Subtest: Negated assertion with predicate block works # /o/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 23 - Negated assertion with predicate block works # Subtest: Assertion with interpolated var works # /<$expected>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 24 - Assertion with interpolated var works # Subtest: Assertion with interpolated block works # /o<{ # "o" # }>/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 25 - Assertion with interpolated block works # Subtest: Assertion with recursive ast works # /o[<~~> | a]/ ok 1 - deparse # Subtest: matches 1..9 ok 1 - AST: EVAL ok 2 - AST: No positional captures ok 3 - AST: No named captures ok 4 - Str: EVAL ok 5 - Str: No positional captures ok 6 - Str: No named captures ok 7 - Raku: EVAL ok 8 - Raku: No positional captures ok 9 - Raku: No named captures ok 2 - matches 1..2 ok 26 - Assertion with recursive ast works # Subtest: Assertion with callable works # /<&abc>/ ok 1 - deparse ok 2 - AST: EVAL ok 3 - AST: No positional captures ok 4 - AST: No named captures ok 5 - Str: EVAL ok 6 - Str: No positional captures ok 7 - Str: No named captures ok 8 - Raku: EVAL ok 9 - Raku: No positional captures ok 10 - Raku: No named captures 1..10 ok 27 - Assertion with callable works ok t/12-rakuast/statement-prefix.rakutest .......................... 1..18 # Subtest: The do statement prefix works with a statement # do 137 ok 1 - deparse WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_1: Useless use of constant integer 137 in sink context (line 1) ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - The do statement prefix works with a statement # Subtest: The do statement prefix works with a block # do { # 199 # } ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - The do statement prefix works with a block # Subtest: The quietly statement prefix works # quietly do-warning() ok 1 - deparse ok 2 - AST: with a statement ok 3 - AST: the warning was suppressed ok 4 - Str: with a statement ok 5 - Str: the warning was suppressed ok 6 - Raku: with a statement ok 7 - Raku: the warning was suppressed # quietly { # do-warning() # } ok 8 - deparse ok 9 - AST: with a block ok 10 - AST: the warning was suppressed ok 11 - Str: with a block ok 12 - Str: the warning was suppressed ok 13 - Raku: with a block ok 14 - Raku: the warning was suppressed 1..14 ok 3 - The quietly statement prefix works # Subtest: The gather statement prefix works on a statement # gather do-takes() ok 1 - deparse ok 2 - AST: Got a Seq back from gather (expression form) ok 3 - The gather is lazy ok 4 - Gathered the takes ok 5 - Got correct result from the gather expression ok 6 - Str: Got a Seq back from gather (expression form) ok 7 - The gather is lazy ok 8 - Gathered the takes ok 9 - Got correct result from the gather expression ok 10 - Raku: Got a Seq back from gather (expression form) ok 11 - The gather is lazy ok 12 - Gathered the takes ok 13 - Got correct result from the gather expression 1..13 ok 4 - The gather statement prefix works on a statement # Subtest: The gather statement prefix works on a block # gather { # do-takes() # } ok 1 - deparse ok 2 - AST: Got a Seq back from gather (block form) ok 3 - The gather is lazy ok 4 - Gathered the takes ok 5 - Got correct result from the gather expression ok 6 - Str: Got a Seq back from gather (block form) ok 7 - The gather is lazy ok 8 - Gathered the takes ok 9 - Got correct result from the gather expression ok 10 - Raku: Got a Seq back from gather (block form) ok 11 - The gather is lazy ok 12 - Gathered the takes ok 13 - Got correct result from the gather expression 1..13 ok 5 - The gather statement prefix works on a block # Subtest: The race / hyper / lazy / eager statement prefixes work # race $c ok 1 - deparse ok 2 - AST: race works with statement ok 3 - AST: context method was called WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_26: Useless use of $c in sink context (line 1) ok 4 - Str: race works with statement ok 5 - Str: context method was called ok 6 - Raku: race works with statement ok 7 - Raku: context method was called # hyper $c ok 8 - deparse ok 9 - AST: hyper works with statement ok 10 - AST: context method was called WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_30: Useless use of $c in sink context (line 1) ok 11 - Str: hyper works with statement ok 12 - Str: context method was called ok 13 - Raku: hyper works with statement ok 14 - Raku: context method was called # lazy $c ok 15 - deparse ok 16 - AST: lazy works with statement ok 17 - AST: context method was called WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_34: Useless use of $c in sink context (line 1) ok 18 - Str: lazy works with statement ok 19 - Str: context method was called ok 20 - Raku: lazy works with statement ok 21 - Raku: context method was called # eager $c ok 22 - deparse ok 23 - AST: eager works with statement ok 24 - AST: context method was called WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_38: Useless use of $c in sink context (line 1) ok 25 - Str: eager works with statement ok 26 - Str: context method was called ok 27 - Raku: eager works with statement ok 28 - Raku: context method was called # race { # $c # } ok 29 - deparse ok 30 - AST: race works with block ok 31 - AST: context method was called ok 32 - Str: race works with block ok 33 - Str: context method was called ok 34 - Raku: race works with block ok 35 - Raku: context method was called # hyper { # $c # } ok 36 - deparse ok 37 - AST: hyper works with block ok 38 - AST: context method was called ok 39 - Str: hyper works with block ok 40 - Str: context method was called ok 41 - Raku: hyper works with block ok 42 - Raku: context method was called # lazy { # $c # } ok 43 - deparse ok 44 - AST: lazy works with block ok 45 - AST: context method was called ok 46 - Str: lazy works with block ok 47 - Str: context method was called ok 48 - Raku: lazy works with block ok 49 - Raku: context method was called # eager { # $c # } ok 50 - deparse ok 51 - AST: eager works with block ok 52 - AST: context method was called ok 53 - Str: eager works with block ok 54 - Str: context method was called ok 55 - Raku: eager works with block ok 56 - Raku: context method was called 1..56 ok 6 - The race / hyper / lazy / eager statement prefixes work # Subtest: try statement prefix with expression producing value results # try 99 ok 1 - deparse ok 2 - AST: correct result ok 3 - AST: $! is Nil when not exception WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_58: Useless use of constant integer 99 in sink context (line 1) ok 4 - Str: correct result Use of uninitialized value element of type Any in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at t/12-rakuast/statement-prefix.rakutest line 282 not ok 5 - Str: $! is Nil when not exception # TODO Str: string eval does not set , also in main # Failed test 'Str: $! is Nil when not exception' # at t/12-rakuast/statement-prefix.rakutest line 284 # expected: Nil # got: Any ok 6 - Raku: correct result ok 7 - Raku: $! is Nil when not exception 1..7 ok 7 - try statement prefix with expression producing value results # Subtest: try statement prefix with throwing expression handles the exception # try die("hard") ok 1 - deparse ok 2 - AST: did we get Nil ok 3 - AST: $! is populated with exception ok 4 - Str: did we get Nil ok 5 - Str: $! is populated with exception ok 6 - Raku: did we get Nil ok 7 - Raku: $! is populated with exception 1..7 ok 8 - try statement prefix with throwing expression handles the exception # Subtest: try statement prefix with block producing value results # try { # 999 # } ok 1 - deparse ok 2 - AST: correct result ok 3 - AST: $! is Nil when not exception ok 4 - Str: correct result not ok 5 - Str: $! is Nil when not exception # TODO Str: string eval does not set $!, also in main # Failed test 'Str: $! is Nil when not exception' # at t/12-rakuast/statement-prefix.rakutest line 331 # expected: Nil # got: Any ok 6 - Raku: correct result ok 7 - Raku: $! is Nil when not exception 1..7 ok 9 - try statement prefix with block producing value results # Subtest: try statement prefix with throwing block handles the exception # try { # die("another day") # } ok 1 - deparse ok 2 - AST: did we get Nil ok 3 - AST: $! is populated with exception ok 4 - Str: did we get Nil ok 5 - Str: $! is populated with exception ok 6 - Raku: did we get Nil ok 7 - Raku: $! is populated with exception 1..7 ok 10 - try statement prefix with throwing block handles the exception # Subtest: start statement prefix with expression evaluates to Promise # start 111 ok 1 - deparse WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_73: Useless use of constant integer 111 in sink context (line 1) ok 2 - AST ok 3 - Correct result from Promise ok 4 - Str ok 5 - Correct result from Promise ok 6 - Raku ok 7 - Correct result from Promise 1..7 ok 11 - start statement prefix with expression evaluates to Promise # Subtest: start statement prefix with block evaluates to Promise # start { # 137 # } ok 1 - deparse ok 2 - AST ok 3 - Correct result from Promise ok 4 - Str ok 5 - Correct result from Promise ok 6 - Raku ok 7 - Correct result from Promise 1..7 ok 12 - start statement prefix with block evaluates to Promise # Subtest: A start has a fresh $/ # start $/ ok 1 - deparse ok 2 - AST: A start has a fresh $/ WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_81: Useless use of $/ in sink context (line 1) ok 3 - Str: A start has a fresh $/ ok 4 - Raku: A start has a fresh $/ 1..4 ok 13 - A start has a fresh $/ # Subtest: A start has a fresh $! # start $! ok 1 - deparse ok 2 - AST: A start has a fresh $! WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_85: Useless use of $! in sink context (line 1) ok 3 - Str: A start has a fresh $! ok 4 - Raku: A start has a fresh $! 1..4 ok 14 - A start has a fresh $! # Subtest: supply statement prefix with expression evaluates to Supply # supply whenever 42 { # .emit # } 1..7 ok 1 - deparse ok 2 - AST ok 3 - emitted value ok ok 4 - Str ok 5 - emitted value ok ok 6 - Raku ok 7 - emitted value ok ok 15 - supply statement prefix with expression evaluates to Supply # Subtest: supply statement prefix with block evaluates to Supply # supply { # whenever 42 { # .emit # } # } 1..7 ok 1 - deparse ok 2 - AST ok 3 - emitted value ok ok 4 - Str ok 5 - emitted value ok ok 6 - Raku ok 7 - emitted value ok ok 16 - supply statement prefix with block evaluates to Supply # Subtest: react statement prefix with expression evaluates to Nil # react whenever 42 { # $a = $_ # } ok 1 - deparse ok 2 - AST: is the result Nil ok 3 - AST: did the code get run ok 4 - Str: is the result Nil ok 5 - Str: did the code get run ok 6 - Raku: is the result Nil ok 7 - Raku: did the code get run 1..7 ok 17 - react statement prefix with expression evaluates to Nil # Subtest: react statement block with expression evaluates to Nil # react { # whenever 42 { # $a = $_ # } # } ok 1 - deparse ok 2 - AST: is the result Nil ok 3 - AST: did the code get run ok 4 - Str: is the result Nil ok 5 - Str: did the code get run ok 6 - Raku: is the result Nil ok 7 - Raku: did the code get run 1..7 ok 18 - react statement block with expression evaluates to Nil ok t/12-rakuast/highlight.rakutest ................................. 1..31 # Subtest: 'use nqp' not allowed 1..3 ok 1 - code dies ok 2 - right exception type (SafeActions::X::NotAllowedHighlighting) ok 3 - .what matches use nqp ok 1 - 'use nqp' not allowed # Subtest: 'use MONKEY' not allowed 1..3 ok 1 - code dies ok 2 - right exception type (SafeActions::X::NotAllowedHighlighting) ok 3 - .what matches use MONKEY ok 2 - 'use MONKEY' not allowed # Subtest: 'use MONKEY-GUTS' not allowed 1..3 ok 1 - code dies ok 2 - right exception type (SafeActions::X::NotAllowedHighlighting) ok 3 - .what matches use MONKEY-GUTS ok 3 - 'use MONKEY-GUTS' not allowed # Subtest: 'use Test' not allowed 1..3 ok 1 - code dies ok 2 - right exception type (SafeActions::X::NotAllowedHighlighting) ok 3 - .what matches module loading ok 4 - 'use Test' not allowed # Subtest: use and pass 1..2 ok 1 - using default ok 2 - using mapping ok 5 - use and pass # Subtest: class and attributes 1..2 Potential difficulties: Redeclaration of symbol '$a'. at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_6:12 ------> my Frobnicate $a .= new; ok 1 - using default Potential difficulties: Redeclaration of symbol '$a'. at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_7:12 ------> my Frobnicate $a .= new; ok 2 - using mapping ok 6 - class and attributes # Subtest: vars, if and say 1..2 Potential difficulties: Redeclaration of symbol '$a'. at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_8:2 ------> my Int $a = 42; Redeclaration of symbol '$b'. at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_8:3 ------> my str $b = "foo"; ok 1 - using default Potential difficulties: Redeclaration of symbol '$a'. at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_9:2 ------> my Int $a = 42; Redeclaration of symbol '$b'. at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_9:3 ------> my str $b = "foo"; ok 2 - using mapping ok 7 - vars, if and say # Subtest: simple regex 1..2 ok 1 - using default ok 2 - using mapping ok 8 - simple regex # Subtest: =alias 1..2 ok 1 - using default ok 2 - using mapping ok 9 - =alias # Subtest: =defn 1..2 ok 1 - using default ok 2 - using mapping ok 10 - =defn # Subtest: =for defn 1..2 ok 1 - using default ok 2 - using mapping ok 11 - =for defn # Subtest: =begin defn 1..2 ok 1 - using default ok 2 - using mapping ok 12 - =begin defn # Subtest: =config zip 1..2 ok 1 - using default ok 2 - using mapping ok 13 - =config zip # Subtest: =config zap 1..2 ok 1 - using default ok 2 - using mapping ok 14 - =config zap # Subtest: =config zop 1..2 ok 1 - using default ok 2 - using mapping ok 15 - =config zop # Subtest: =place zip 1..2 ok 1 - using default ok 2 - using mapping ok 16 - =place zip # Subtest: =place zap 1..2 ok 1 - using default ok 2 - using mapping ok 17 - =place zap # Subtest: =place zop 1..2 ok 1 - using default ok 2 - using mapping ok 18 - =place zop # Subtest: no statements, =finish 1..2 ok 1 - using default ok 2 - using mapping ok 19 - no statements, =finish # Subtest: statements, =finish 1..2 ok 1 - using default ok 2 - using mapping ok 20 - statements, =finish # Subtest: no statements, no =finish 1..2 ok 1 - using default ok 2 - using mapping ok 21 - no statements, no =finish # Subtest: =code 1..2 ok 1 - using default ok 2 - using mapping ok 22 - =code # Subtest: =for code 1..2 ok 1 - using default ok 2 - using mapping ok 23 - =for code # Subtest: =begin code 1..2 ok 1 - using default ok 2 - using mapping ok 24 - =begin code # Subtest: implicit code block 1..2 ok 1 - using default ok 2 - using mapping ok 25 - implicit code block # Subtest: procedural table 1..2 ok 1 - using default ok 2 - using mapping ok 26 - procedural table # Subtest: abbreviated visual table 1..2 ok 1 - using default ok 2 - using mapping ok 27 - abbreviated visual table # Subtest: for visual table 1..2 ok 1 - using default ok 2 - using mapping ok 28 - for visual table # Subtest: visual table 1..2 ok 1 - using default ok 2 - using mapping ok 29 - visual table # Subtest: use v6 (1) 1..2 ok 1 - using default ok 2 - using mapping ok 30 - use v6 (1) # Subtest: use v6 (2) 1..2 ok 1 - using default ok 2 - using mapping ok 31 - use v6 (2) ok t/12-rakuast/statement.rakutest ................................. 1..29 # Subtest: Statement list evaluates to its final statement # ++$x; # ; # ++$y ok 1 - deparse ok 2 - AST: Statement list evaluates to its final statement ok 3 - AST: First side-effecting statement was executed ok 4 - AST: Second side-effecting statement was executed ok 5 - Str: Statement list evaluates to its final statement ok 6 - Str: First side-effecting statement was executed ok 7 - Str: Second side-effecting statement was executed ok 8 - Raku: Statement list evaluates to its final statement ok 9 - Raku: First side-effecting statement was executed ok 10 - Raku: Second side-effecting statement was executed 1..10 ok 1 - Statement list evaluates to its final statement # Subtest: Basic if / elsif / else structure # if $a { # 1 # } # elsif $b { # 2 # } # elsif $c { # 3 # } # else { # 4 # } ok 1 - deparse ok 2 - AST: When all conditions False, else is evaluated ok 3 - AST: Latest elsif reachable when matched ok 4 - AST: First elsif reachable when matched ok 5 - AST: When the main condition is true, the then block is picked ok 6 - Str: When all conditions False, else is evaluated ok 7 - Str: Latest elsif reachable when matched ok 8 - Str: First elsif reachable when matched ok 9 - Str: When the main condition is true, the then block is picked ok 10 - Raku: When all conditions False, else is evaluated ok 11 - Raku: Latest elsif reachable when matched ok 12 - Raku: First elsif reachable when matched ok 13 - Raku: When the main condition is true, the then block is picked 1..13 ok 2 - Basic if / elsif / else structure # Subtest: simple if evaluation # if $a { # 1 # } ok 1 - deparse ok 2 - AST: When simple if with no else has true condition ok 3 - AST: When simple if with no else has false condition ok 4 - Str: When simple if with no else has true condition ok 5 - Str: When simple if with no else has false condition ok 6 - Raku: When simple if with no else has true condition ok 7 - Raku: When simple if with no else has false condition 1..7 ok 3 - simple if evaluation # Subtest: Basic with / orwith / else structure # with $a -> $x { # 1 # } # orwith $b -> $x { # 2 # } # orwith $c -> $x { # 3 # } # else -> $x { # 4 # } ok 1 - deparse ok 2 - AST: When all conditions undefined, else is evaluated ok 3 - AST: Latest orwith reachable when matched ok 4 - AST: First orwith reachable when matched ok 5 - AST: When the main condition is defined, the then block is picked ok 6 - Str: When all conditions undefined, else is evaluated ok 7 - Str: Latest orwith reachable when matched ok 8 - Str: First orwith reachable when matched ok 9 - Str: When the main condition is defined, the then block is picked ok 10 - Raku: When all conditions undefined, else is evaluated ok 11 - Raku: Latest orwith reachable when matched ok 12 - Raku: First orwith reachable when matched ok 13 - Raku: When the main condition is defined, the then block is picked 1..13 ok 4 - Basic with / orwith / else structure # Subtest: simple with evaluation # with $a -> $x { # 1 # } ok 1 - deparse ok 2 - AST: When simple when with no else has defined condition ok 3 - AST: When simple with if with no else has undefined condition ok 4 - Str: When simple when with no else has defined condition ok 5 - Str: When simple with if with no else has undefined condition ok 6 - Raku: When simple when with no else has defined condition ok 7 - Raku: When simple with if with no else has undefined condition 1..7 ok 5 - simple with evaluation # Subtest: with topicalizes in the body # with $a { # $_ # } # else { # $_ # } ok 1 - deparse ok 2 - AST: with topicalizes in the body ok 3 - AST: with topicalizes in the else body too ok 4 - Str: with topicalizes in the body ok 5 - Str: with topicalizes in the else body too ok 6 - Raku: with topicalizes in the body ok 7 - Raku: with topicalizes in the else body too 1..7 ok 6 - with topicalizes in the body # Subtest: simple unless with a false condition # unless $x { # ++$y # } ok 1 - deparse ok 2 - AST: unless block with a false condition evaluates to its body ok 3 - AST: side-effect of the body was performed ok 4 - Str: unless block with a false condition evaluates to its body ok 5 - Str: side-effect of the body was performed ok 6 - Raku: unless block with a false condition evaluates to its body ok 7 - Raku: side-effect of the body was performed 1..7 ok 7 - simple unless with a false condition # Subtest: simple unless with a false condition # unless $x { # ++$y # } ok 1 - deparse ok 2 - AST: unless block with a false condition evaluates to Empty ok 3 - AST: side-effect of the body was not performed ok 4 - Str: unless block with a false condition evaluates to Empty ok 5 - Str: side-effect of the body was not performed ok 6 - Raku: unless block with a false condition evaluates to Empty ok 7 - Raku: side-effect of the body was not performed 1..7 ok 8 - simple unless with a false condition # Subtest: simple without with an undefined condition # without $x { # $y++ # } ok 1 - deparse ok 2 - AST: without block with an undefined object evaluates to its body ok 3 - AST: Side-effect of the body was performed ok 4 - Str: without block with an undefined object evaluates to its body ok 5 - Str: Side-effect of the body was performed ok 6 - Raku: without block with an undefined object evaluates to its body ok 7 - Raku: Side-effect of the body was performed 1..7 ok 9 - simple without with an undefined condition # Subtest: simple without with a defined condition # without $x { # ++$y # } ok 1 - deparse ok 2 - AST: a without block with a defined object evaluates to Empty ok 3 - AST: side-effect of the body was not performed ok 4 - Str: a without block with a defined object evaluates to Empty ok 5 - Str: side-effect of the body was not performed ok 6 - Raku: a without block with a defined object evaluates to Empty ok 7 - Raku: side-effect of the body was not performed 1..7 ok 10 - simple without with a defined condition # Subtest: simple without with an undefined condition # without $x { # $_ # } ok 1 - deparse ok 2 - AST: without block sets the topic ok 3 - Str: without block sets the topic ok 4 - Raku: without block sets the topic 1..4 ok 11 - simple without with an undefined condition # Subtest: While loop at statement level evaluates to Nil # while $x { # --$x # } ok 1 - deparse ok 2 - AST: while loop at statement level evaluates to Nil ok 3 - AST: Loop variable was decremented to zero ok 4 - Str: while loop at statement level evaluates to Nil ok 5 - Str: Loop variable was decremented to zero ok 6 - Raku: while loop at statement level evaluates to Nil ok 7 - Raku: Loop variable was decremented to zero 1..7 ok 12 - While loop at statement level evaluates to Nil # Subtest: Until loop at statement level evaluates to Nil # until !$x { # --$x # } ok 1 - deparse ok 2 - AST: until loop at statement level evaluates to Nil ok 3 - AST: Loop variable was decremented to zero ok 4 - Str: until loop at statement level evaluates to Nil ok 5 - Str: Loop variable was decremented to zero ok 6 - Raku: until loop at statement level evaluates to Nil ok 7 - Raku: Loop variable was decremented to zero 1..7 ok 13 - Until loop at statement level evaluates to Nil # Subtest: Repeat while loop at statement level evaluates to Nil # repeat { # --$x # } while $x ok 1 - deparse ok 2 - AST: repeat until loop at statement level evaluates to Nil ok 3 - AST: loop variable decremented to 0 ok 4 - Str: repeat until loop at statement level evaluates to Nil ok 5 - Str: loop variable decremented to 0 ok 6 - Raku: repeat until loop at statement level evaluates to Nil ok 7 - Raku: loop variable decremented to 0 1..7 ok 14 - Repeat while loop at statement level evaluates to Nil # Subtest: Repeat until loop at statement level evaluates to Nil # repeat { # --$x # } until $x ok 1 - deparse ok 2 - AST: repeat until loop at statement level evaluates to Nil ok 3 - AST: loop ran once ok 4 - Str: repeat until loop at statement level evaluates to Nil ok 5 - Str: loop ran once ok 6 - Raku: repeat until loop at statement level evaluates to Nil ok 7 - Raku: loop ran once 1..7 ok 15 - Repeat until loop at statement level evaluates to Nil # Subtest: Loop block with setup and increment expression # loop (my $i = 9; $i; --$i) { # ++$count # } ok 1 - deparse ok 2 - AST: loop with setup and increment evaluates to Nil ok 3 - AST: loop ran as expected ok 4 - Str: loop with setup and increment evaluates to Nil ok 5 - Str: loop ran as expected ok 6 - Raku: loop with setup and increment evaluates to Nil ok 7 - Raku: loop ran as expected 1..7 ok 16 - Loop block with setup and increment expression # Subtest: Statement level for loop # for 2 .. 7 -> $x { # ++$count # } ok 1 - deparse ok 2 - AST: for loop evaluates to Nil ok 3 - AST: loop ran with expected number of times ok 4 - Str: for loop evaluates to Nil ok 5 - Str: loop ran with expected number of times ok 6 - Raku: for loop evaluates to Nil ok 7 - Raku: loop ran with expected number of times 1..7 ok 17 - Statement level for loop # Subtest: for loop with explicit iteration variable # for 2 .. 7 -> $x { # $total = $total + $x # } ok 1 - deparse ok 2 - AST: result value of for ok 3 - AST: correct value in iteration variable ok 4 - Str: result value of for ok 5 - Str: correct value in iteration variable ok 6 - Raku: result value of for ok 7 - Raku: correct value in iteration variable 1..7 ok 18 - for loop with explicit iteration variable # Subtest: Statement level for loop with implicit topic # for 2 .. 7 { # $total = $total + $_ # } ok 1 - deparse ok 2 - AST: result value of for ok 3 - AST: correct value in implicit topic ok 4 - Str: result value of for ok 5 - Str: correct value in implicit topic ok 6 - Raku: result value of for ok 7 - Raku: correct value in implicit topic 1..7 ok 19 - Statement level for loop with implicit topic # Subtest: given with explicit signature # given $a -> $x { # $x # } ok 1 - deparse ok 2 - AST: given topicalizes on the source (signature) ok 3 - AST: given topicalizes even an undefined source (signature) ok 4 - Str: given topicalizes on the source (signature) ok 5 - Str: given topicalizes even an undefined source (signature) ok 6 - Raku: given topicalizes on the source (signature) ok 7 - Raku: given topicalizes even an undefined source (signature) 1..7 ok 20 - given with explicit signature # Subtest: given with implicit signature # given $a { # $_ # } ok 1 - deparse ok 2 - AST: given topicalizes on the source (implicit) ok 3 - AST: given topicalizes even an undefined source (implicit) ok 4 - Str: given topicalizes on the source (implicit) ok 5 - Str: given topicalizes even an undefined source (implicit) ok 6 - Raku: given topicalizes on the source (implicit) ok 7 - Raku: given topicalizes even an undefined source (implicit) 1..7 ok 21 - given with implicit signature # Subtest: given with when and default # given $a { # when 2 { # "two" # } # when 3 { # "three" # } # default { # "another" # } # } ok 1 - deparse ok 2 - AST: first when statement matching gives correct result ok 3 - AST: second when statement matching gives correct result ok 4 - AST: no when statement giving default ok 5 - Str: first when statement matching gives correct result ok 6 - Str: second when statement matching gives correct result ok 7 - Str: no when statement giving default ok 8 - Raku: first when statement matching gives correct result ok 9 - Raku: second when statement matching gives correct result ok 10 - Raku: no when statement giving default 1..10 ok 22 - given with when and default # use Test; # ok(1, "use statements work") ok 23 - deparse ok 24 - use statements work ok 25 - use statements work ok 26 - use statements work # Subtest: check parsing of 'use' pragma # use MONKEY; # nqp::const::STAT_ISDIR ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 27 - check parsing of 'use' pragma # Subtest: check parsing of 'no' pragma # no trace; # 42 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 28 - check parsing of 'no' pragma # Subtest: check parsing of 'need' pragma # need Test; # import Test; # ok($type) 1..7 ok 1 - deparse ok 2 - ok 3 - AST: did eval work ok 4 - ok 5 - Str: did eval work ok 6 - ok 7 - Raku: did eval work ok 29 - check parsing of 'need' pragma ok t/08-performance/11-rakuast-constant-folding.t .................. WARNINGS for /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/t/08-performance/11-rakuast-constant-folding.t: Useless use of "zdie" in expression "1 zdie 2" in sink context (line 83) 1..47 ok 1 - integer arithmetic folds ok 2 - nested operators fold up the chain ok 3 - mixed precedence folds ok 4 - a negated literal folds ok 5 - a bitwise operator folds ok 6 - string concatenation folds ok 7 - a list-associative operator folds ok 8 - the folded list-associative operator is gone from the tree ok 9 - a junction constructor folds to a junction ok 10 - a prefix on an enumeration value folds ok 11 - a negative power folds to a Rat ok 12 - integer division folds to a Rat ok 13 - a folded division still produces a Rat at runtime ok 14 - a method call invocant folds ok 15 - a pair value folds ok 16 - a block final value folds ok 17 - a statement modifier condition folds ok 18 - array composer elements fold ok 19 - an index expression folds ok 20 - a parameter default folds ok 21 - parenthesized constants fold into the enclosing expression ok 22 - nested grouping parentheses fold ok 23 - a native int initializer folds ok 24 - a folded native int initializer widens correctly ok 25 - a variable operand keeps the runtime computation ok 26 - a chained comparison is not mis-folded as binary operations ok 27 - list parentheses are not mistaken for a foldable value ok 28 - a small string repetition folds ok 29 - an enormous string repetition is left for runtime ok 30 - division by zero folds to a zero-denominator Rat ok 31 - using a folded zero-denominator Rat throws # Subtest: a declined Failure does not warn at compile time 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 32 - a declined Failure does not warn at compile time ok 33 - a throwing pure operator is left to throw at runtime ok 34 - an operator bound to a lexical variable is left for runtime ok 35 - an unmarked user-defined operator gives the right value ok 36 - an unmarked user-defined operator runs at runtime ok 37 - an is pure operator on literals is evaluated at compile time ok 38 - a pure prefix operator with an adverb keeps its adverb ok 39 - a constant folds as an operand ok 40 - a sigiled constant folds as an operand ok 41 - a constant folds up a nested chain ok 42 - a string constant folds as an operand ok 43 - a folded constant operand computes the same value ok 44 - a runtime variable keeps the operator ok 45 - a stash reference keeps the operator ok 46 - the unoptimized tree keeps the operator ok 47 - an imported our-scoped variable reassigned at runtime computes with the new value ok t/12-rakuast/statement-phaser.rakutest .......................... 1..36 # Subtest: BEGIN phaser producing a literal expression works # BEGIN 12 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 1 - BEGIN phaser producing a literal expression works # Subtest: Block with CATCH/default handles exception and evaluates to Nil # { # CATCH { # default { # $handled++ # } # } # die("oops") # } ok 1 - deparse ok 2 - AST: block with CATCH/default handles exception, evaluates to Nil ok 3 - AST: the exception handler ran once ok 4 - AST: $! in the outer scope has the exception ok 5 - Str: block with CATCH/default handles exception, evaluates to Nil ok 6 - Str: the exception handler ran once ok 7 - Str: $! in the outer scope has the exception ok 8 - Raku: block with CATCH/default handles exception, evaluates to Nil ok 9 - Raku: the exception handler ran once ok 10 - Raku: $! in the outer scope has the exception 1..10 ok 2 - Block with CATCH/default handles exception and evaluates to Nil # Subtest: Exception is rethrown if unhandled # { # CATCH { } # die("gosh") # } ok 1 - deparse # Subtest: AST: exception is rethrown if unhandled 1..3 ok 1 - code dies ok 2 - right exception type (X::AdHoc) ok 3 - .message matches /gosh/ ok 2 - AST: exception is rethrown if unhandled # Subtest: Str: exception is rethrown if unhandled 1..3 ok 1 - code dies ok 2 - right exception type (X::AdHoc) ok 3 - .message matches /gosh/ ok 3 - Str: exception is rethrown if unhandled # Subtest: Raku: exception is rethrown if unhandled 1..3 ok 1 - code dies ok 2 - right exception type (X::AdHoc) ok 3 - .message matches /gosh/ ok 4 - Raku: exception is rethrown if unhandled 1..4 ok 3 - Exception is rethrown if unhandled # Subtest: CONTROL phaser catching a warning # CONTROL { # isa-ok($_, CX::Warn); # .resume # } # warn(); # 42 1..7 ok 1 - deparse ok 2 - The object is-a 'CX::Warn' ok 3 - The object is-a 'CX::Warn' ok 4 - The object is-a 'CX::Warn' ok 5 - AST ok 6 - Str ok 7 - Raku ok 4 - CONTROL phaser catching a warning # Subtest: CATCH phaser catching an exception # CATCH { # todo("Getting a warning instead of an exception???"); # isa-ok($_, X::AdHoc); # .resume # } # die(); # 666 1..7 ok 1 - deparse not ok 2 - The object is-a 'X::AdHoc' # TODO Getting a warning instead of an exception??? # Failed test 'The object is-a 'X::AdHoc'' # at SETTING::src/core.c/Exception.rakumod line 65 # Actual type: CX::Warn not ok 3 - The object is-a 'X::AdHoc' # TODO Getting a warning instead of an exception??? # Failed test 'The object is-a 'X::AdHoc'' # at EVAL_17 line 3 # Actual type: CX::Warn not ok 4 - The object is-a 'X::AdHoc' # TODO Getting a warning instead of an exception??? # Failed test 'The object is-a 'X::AdHoc'' # at SETTING::src/core.c/Exception.rakumod line 65 # Actual type: CX::Warn ok 5 - AST ok 6 - Str ok 7 - Raku ok 5 - CATCH phaser catching an exception # Subtest: Block with INIT phaser thunk # -> { # INIT ++$init # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: INIT actually ran ok 4 - AST: INIT phaser returns expression ok 5 - Str: did we get a Block ok 6 - Str: INIT actually ran ok 7 - Str: INIT phaser returns expression ok 8 - Raku: did we get a Block ok 9 - Raku: INIT actually ran ok 10 - Raku: INIT phaser returns expression 1..10 ok 6 - Block with INIT phaser thunk # Subtest: Block with INIT phaser block # -> { # INIT { # ++$init; # 42 # } # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: INIT actually ran ok 4 - AST: INIT phaser returns expression ok 5 - Str: did we get a Block ok 6 - Str: INIT actually ran ok 7 - Str: INIT phaser returns expression ok 8 - Raku: did we get a Block ok 9 - Raku: INIT actually ran ok 10 - Raku: INIT phaser returns expression 1..10 ok 7 - Block with INIT phaser block # Subtest: Block with ENTER phaser thunk # -> { # ENTER ++$enter # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: ENTER phaser returns expression ok 4 - AST: ENTER actually ran ok 5 - Str: did we get a Block ok 6 - Str: ENTER phaser returns expression ok 7 - Str: ENTER actually ran ok 8 - Raku: did we get a Block ok 9 - Raku: ENTER phaser returns expression ok 10 - Raku: ENTER actually ran 1..10 ok 8 - Block with ENTER phaser thunk # Subtest: Block with ENTER phaser block # -> { # ENTER { # ++$enter; # 42 # } # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: ENTER phaser returns expression ok 4 - AST: ENTER actually ran ok 5 - Str: did we get a Block ok 6 - Str: ENTER phaser returns expression ok 7 - Str: ENTER actually ran ok 8 - Raku: did we get a Block ok 9 - Raku: ENTER phaser returns expression ok 10 - Raku: ENTER actually ran 1..10 ok 9 - Block with ENTER phaser block # Subtest: LEAVE phaser thunk being run # { # $done = False; # LEAVE pass("leaving"); # $done = True # } 1..10 ok 1 - deparse ok 2 - leaving ok 3 - AST: result correct ok 4 - AST: did block run to completion ok 5 - leaving ok 6 - Str: result correct ok 7 - Str: did block run to completion ok 8 - leaving ok 9 - Raku: result correct ok 10 - Raku: did block run to completion ok 10 - LEAVE phaser thunk being run # Subtest: LEAVE phaser block being run # { # $done = False; # LEAVE { # pass("leaving") # } # $done = True # } 1..10 ok 1 - deparse ok 2 - leaving ok 3 - AST: result correct ok 4 - AST: did block run to completion ok 5 - leaving ok 6 - Str: result correct ok 7 - Str: did block run to completion ok 8 - leaving ok 9 - Raku: result correct ok 10 - Raku: did block run to completion ok 11 - LEAVE phaser block being run # Subtest: KEEP / UNDO phaser thunk successful exit # -> { # KEEP ++$keep; # UNDO ++$undo; # 42 # } ok 1 - deparse ok 2 - AST: KEEP did *not* run yet ok 3 - AST: UNDO did *not* run yet ok 4 - AST: did we get a Block ok 5 - AST: exited block correctly ok 6 - AST: KEEP actually ran ok 7 - AST: UNDO did *not* run ok 8 - Str: KEEP did *not* run yet ok 9 - Str: UNDO did *not* run yet ok 10 - Str: did we get a Block ok 11 - Str: exited block correctly ok 12 - Str: KEEP actually ran ok 13 - Str: UNDO did *not* run ok 14 - Raku: KEEP did *not* run yet ok 15 - Raku: UNDO did *not* run yet ok 16 - Raku: did we get a Block ok 17 - Raku: exited block correctly ok 18 - Raku: KEEP actually ran ok 19 - Raku: UNDO did *not* run 1..19 ok 12 - KEEP / UNDO phaser thunk successful exit # Subtest: KEEP / UNDO phaser block successful exit # -> { # KEEP { # ++$keep # } # UNDO { # ++$undo # } # 42 # } ok 1 - deparse ok 2 - AST: KEEP did *not* run yet ok 3 - AST: UNDO did *not* run yet ok 4 - AST: did we get a Block ok 5 - AST: exited block correctly ok 6 - AST: KEEP actually ran ok 7 - AST: UNDO did *not* run ok 8 - Str: KEEP did *not* run yet ok 9 - Str: UNDO did *not* run yet ok 10 - Str: did we get a Block ok 11 - Str: exited block correctly ok 12 - Str: KEEP actually ran ok 13 - Str: UNDO did *not* run ok 14 - Raku: KEEP did *not* run yet ok 15 - Raku: UNDO did *not* run yet ok 16 - Raku: did we get a Block ok 17 - Raku: exited block correctly ok 18 - Raku: KEEP actually ran ok 19 - Raku: UNDO did *not* run 1..19 ok 13 - KEEP / UNDO phaser block successful exit # Subtest: KEEP / UNDO phaser thunk UNsuccessful exit # -> { # KEEP ++$keep; # UNDO ++$undo; # Int # } ok 1 - deparse ok 2 - AST: KEEP did *not* run yet ok 3 - AST: UNDO did *not* run yet ok 4 - AST: did we get a Block ok 5 - AST: exited block correctly ok 6 - AST: KEEP did *not* run ok 7 - AST: UNDO actually ran ok 8 - Str: KEEP did *not* run yet ok 9 - Str: UNDO did *not* run yet ok 10 - Str: did we get a Block ok 11 - Str: exited block correctly ok 12 - Str: KEEP did *not* run ok 13 - Str: UNDO actually ran ok 14 - Raku: KEEP did *not* run yet ok 15 - Raku: UNDO did *not* run yet ok 16 - Raku: did we get a Block ok 17 - Raku: exited block correctly ok 18 - Raku: KEEP did *not* run ok 19 - Raku: UNDO actually ran 1..19 ok 14 - KEEP / UNDO phaser thunk UNsuccessful exit # Subtest: KEEP / UNDO phaser block UNsuccessful exit # -> { # KEEP { # ++$keep # } # UNDO { # ++$undo # } # Int # } ok 1 - deparse ok 2 - AST: KEEP did *not* run yet ok 3 - AST: UNDO did *not* run yet ok 4 - AST: did we get a Block ok 5 - AST: exited block correctly ok 6 - AST: KEEP did *not* run ok 7 - AST: UNDO actually ran ok 8 - Str: KEEP did *not* run yet ok 9 - Str: UNDO did *not* run yet ok 10 - Str: did we get a Block ok 11 - Str: exited block correctly ok 12 - Str: KEEP did *not* run ok 13 - Str: UNDO actually ran ok 14 - Raku: KEEP did *not* run yet ok 15 - Raku: UNDO did *not* run yet ok 16 - Raku: did we get a Block ok 17 - Raku: exited block correctly ok 18 - Raku: KEEP did *not* run ok 19 - Raku: UNDO actually ran 1..19 ok 15 - KEEP / UNDO phaser block UNsuccessful exit # Subtest: END phaser thunk being run # END pass("leaving END thunk") ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 16 - END phaser thunk being run # Subtest: END phaser block being run # END { # pass("leaving END block") # } ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 17 - END phaser block being run # Subtest: For loop with FIRST phaser thunk # for ^3 { # FIRST is-deeply($run, 0, "inside FIRST"); # FIRST ++$run # } 1..10 ok 1 - deparse ok 2 - inside FIRST ok 3 - AST: for loop evaluates to Nil ok 4 - AST: did second FIRST run once ok 5 - inside FIRST ok 6 - Str: for loop evaluates to Nil ok 7 - Str: did second FIRST run once ok 8 - inside FIRST ok 9 - Raku: for loop evaluates to Nil ok 10 - Raku: did second FIRST run once ok 18 - For loop with FIRST phaser thunk # Subtest: For loop with FIRST phaser block # for ^3 { # FIRST { # is-deeply($run, 0, "inside FIRST") # } # ++$run # } 1..7 ok 1 - deparse ok 2 - inside FIRST ok 3 - AST: for loop evaluates to Nil ok 4 - inside FIRST ok 5 - Str: for loop evaluates to Nil ok 6 - inside FIRST ok 7 - Raku: for loop evaluates to Nil ok 19 - For loop with FIRST phaser block # Subtest: While loop with FIRST phaser block and return value # while $guard { # $result = FIRST { # is-deeply($run, 0, "inside FIRST"); # $guard = False # } # ++$run # } 1..13 ok 1 - deparse ok 2 - inside FIRST ok 3 - AST: while loop evaluates to Nil ok 4 - AST: FIRST returns a value ok 5 - AST: loop block ran ok 6 - inside FIRST not ok 7 - Str: while loop evaluates to Nil # TODO Depends on Raku grammar/actions # Failed test 'Str: while loop evaluates to Nil' # at t/12-rakuast/statement-phaser.rakutest line 1052 # expected: Nil # got: Mu not ok 8 - Str: FIRST returns a value # TODO Depends on Raku grammar/actions # Failed test 'Str: FIRST returns a value' # at t/12-rakuast/statement-phaser.rakutest line 1053 # expected: Bool::False # got: Any ok 9 - Str: loop block ran ok 10 - inside FIRST ok 11 - Raku: while loop evaluates to Nil ok 12 - Raku: FIRST returns a value ok 13 - Raku: loop block ran not ok 20 - While loop with FIRST phaser block and return value # TODO Depends on Raku grammar/actions # Failed test 'While loop with FIRST phaser block and return value' # at t/12-rakuast/statement-phaser.rakutest line 981 # Subtest: Subroutine with FIRST phaser block and return value # sub s { # $guard = FIRST { # is-deeply($run, 0, "in FIRST"); # $guard + 1 # } # $run++ # } # s() xx 3 1..13 ok 1 - deparse ok 2 - in FIRST ok 3 - AST: expression returns as expected ok 4 - AST: FIRST returns a static value ok 5 - AST: loop block ran ok 6 - Str: expression returns as expected not ok 7 - Str: FIRST returns a static value # TODO Depends on Raku grammar/actions # Failed test 'Str: FIRST returns a static value' # at t/12-rakuast/statement-phaser.rakutest line 1149 # expected: 42 # got: Any ok 8 - Str: loop block ran ok 9 - in FIRST ok 10 - Raku: expression returns as expected ok 11 - Raku: FIRST returns a static value ok 12 - Raku: loop block ran # You planned 13 tests, but ran 12 not ok 21 - Subroutine with FIRST phaser block and return value # TODO Depends on Raku grammar/actions # Failed test 'Subroutine with FIRST phaser block and return value' # at t/12-rakuast/statement-phaser.rakutest line 1059 # Subtest: For loop with NEXT / LAST phaser thunk # for ^3 { # NEXT ++$next; # LAST ++$last # } ok 1 - deparse ok 2 - AST: for loop evaluates to Nil ok 3 - AST: NEXTed expected number of times ok 4 - AST: LASTed expected number of times ok 5 - Str: for loop evaluates to Nil ok 6 - Str: NEXTed expected number of times ok 7 - Str: LASTed expected number of times ok 8 - Raku: for loop evaluates to Nil ok 9 - Raku: NEXTed expected number of times ok 10 - Raku: LASTed expected number of times 1..10 ok 22 - For loop with NEXT / LAST phaser thunk # Subtest: For loop with NEXT / LAST phaser block # for ^3 { # NEXT { # ++$next # } # LAST { # ++$last # } # } ok 1 - deparse ok 2 - AST: for loop evaluates to Nil ok 3 - AST: NEXTed expected number of times ok 4 - AST: LASTed expected number of times ok 5 - Str: for loop evaluates to Nil ok 6 - Str: NEXTed expected number of times ok 7 - Str: LASTed expected number of times ok 8 - Raku: for loop evaluates to Nil ok 9 - Raku: NEXTed expected number of times ok 10 - Raku: LASTed expected number of times 1..10 ok 23 - For loop with NEXT / LAST phaser block # Subtest: Block with CLOSE phaser thunk # -> { # CLOSE ++$close # } ok 1 - deparse ok 2 - AST: did we get a Block not ok 3 - AST: CLOSE phaser returns Nil # TODO Thunked CLOSE phaser returns expression # Failed test 'AST: CLOSE phaser returns Nil' # at t/12-rakuast/statement-phaser.rakutest line 1321 # expected: Nil # got: 1 ok 4 - AST: CLOSE actually ran ok 5 - Str: did we get a Block not ok 6 - Str: CLOSE phaser returns Nil # TODO Thunked CLOSE phaser returns expression # Failed test 'Str: CLOSE phaser returns Nil' # at t/12-rakuast/statement-phaser.rakutest line 1321 # expected: Nil # got: 1 ok 7 - Str: CLOSE actually ran ok 8 - Raku: did we get a Block not ok 9 - Raku: CLOSE phaser returns Nil # TODO Thunked CLOSE phaser returns expression # Failed test 'Raku: CLOSE phaser returns Nil' # at t/12-rakuast/statement-phaser.rakutest line 1321 # expected: Nil # got: 1 ok 10 - Raku: CLOSE actually ran 1..10 ok 24 - Block with CLOSE phaser thunk # Subtest: Block with CLOSE phaser block # -> { # CLOSE { # ++$close # } # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: CLOSE phaser returns Nil # TODO Old implementation returns expression ok 4 - AST: CLOSE actually ran ok 5 - Str: did we get a Block not ok 6 - Str: CLOSE phaser returns Nil # TODO Old implementation returns expression # Failed test 'Str: CLOSE phaser returns Nil' # at t/12-rakuast/statement-phaser.rakutest line 1374 # expected: Nil # got: 1 ok 7 - Str: CLOSE actually ran ok 8 - Raku: did we get a Block ok 9 - Raku: CLOSE phaser returns Nil # TODO Old implementation returns expression ok 10 - Raku: CLOSE actually ran 1..10 ok 25 - Block with CLOSE phaser block # Subtest: Block with QUIT phaser block # -> { # QUIT { # $quit = $_ # } # } ok 1 - deparse ok 2 - AST: did we get a Block not ok 3 - AST: QUIT phaser returns Nil # TODO Old implementation returns expression # Failed test 'AST: QUIT phaser returns Nil' # at t/12-rakuast/statement-phaser.rakutest line 1430 # expected: Nil # got: X::AdHoc.new(payload => "foo") ok 4 - AST: QUIT actually ran ok 5 - Str: did we get a Block not ok 6 - Str: QUIT phaser returns Nil # TODO Old implementation returns expression # Failed test 'Str: QUIT phaser returns Nil' # at t/12-rakuast/statement-phaser.rakutest line 1430 # expected: Nil # got: X::AdHoc.new(payload => "foo") ok 7 - Str: QUIT actually ran ok 8 - Raku: did we get a Block not ok 9 - Raku: QUIT phaser returns Nil # TODO Old implementation returns expression # Failed test 'Raku: QUIT phaser returns Nil' # at t/12-rakuast/statement-phaser.rakutest line 1430 # expected: Nil # got: X::AdHoc.new(payload => "foo") ok 10 - Raku: QUIT actually ran 1..10 ok 26 - Block with QUIT phaser block # Subtest: Block with PRE phaser thunk # -> { # PRE ++$pre # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: PRE phaser does not return expression ok 4 - AST: PRE actually ran ok 5 - Str: did we get a Block ok 6 - Str: PRE phaser does not return expression ok 7 - Str: PRE actually ran ok 8 - Raku: did we get a Block ok 9 - Raku: PRE phaser does not return expression ok 10 - Raku: PRE actually ran ok 11 - AST: did we get a Block # Subtest: AST: PRE phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches PRE ok 4 - .message matches Precondition '++$pre' failed ok 12 - AST: PRE phaser throws ok 13 - Str: did we get a Block # Subtest: Str: PRE phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches PRE ok 4 - .message matches Precondition '++$pre' failed ok 14 - Str: PRE phaser throws ok 15 - Raku: did we get a Block # Subtest: Raku: PRE phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches PRE ok 4 - .message matches Precondition '++$pre' failed ok 16 - Raku: PRE phaser throws 1..16 ok 27 - Block with PRE phaser thunk # Subtest: Block with PRE phaser block # -> { # PRE { # ++$pre # } # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: PRE phaser does not return expression ok 4 - AST: PRE actually ran ok 5 - Str: did we get a Block ok 6 - Str: PRE phaser does not return expression ok 7 - Str: PRE actually ran ok 8 - Raku: did we get a Block ok 9 - Raku: PRE phaser does not return expression ok 10 - Raku: PRE actually ran ok 11 - AST: did we get a Block # Subtest: AST: PRE phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches PRE ok 4 - .message matches / '++$pre' / ok 12 - AST: PRE phaser throws ok 13 - AST: PRE actually ran ok 14 - Str: did we get a Block # Subtest: Str: PRE phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches PRE ok 4 - .message matches / '++$pre' / ok 15 - Str: PRE phaser throws ok 16 - Str: PRE actually ran ok 17 - Raku: did we get a Block # Subtest: Raku: PRE phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .message matches / '++$pre' / ok 4 - .phaser matches PRE ok 18 - Raku: PRE phaser throws ok 19 - Raku: PRE actually ran 1..19 ok 28 - Block with PRE phaser block # Subtest: Block with POST phaser thunk # -> { # POST $post = $_; # $result # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: block returns expression ok 4 - AST: POST actually ran ok 5 - Str: did we get a Block ok 6 - Str: block returns expression ok 7 - Str: POST actually ran ok 8 - Raku: did we get a Block ok 9 - Raku: block returns expression ok 10 - Raku: POST actually ran ok 11 - AST: did we get a Block # Subtest: AST: POST phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .message matches Postcondition '$post = $_' failed ok 4 - .phaser matches POST ok 12 - AST: POST phaser throws ok 13 - AST: POST actually ran ok 14 - Str: did we get a Block # Subtest: Str: POST phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches POST ok 4 - .message matches Postcondition '$post = $_' failed ok 15 - Str: POST phaser throws ok 16 - Str: POST actually ran ok 17 - Raku: did we get a Block # Subtest: Raku: POST phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches POST ok 4 - .message matches Postcondition '$post = $_' failed ok 18 - Raku: POST phaser throws ok 19 - Raku: POST actually ran 1..19 ok 29 - Block with POST phaser thunk # Subtest: Block with POST phaser block # -> { # POST { # $post = $_ # } # $result # } ok 1 - deparse ok 2 - AST: did we get a Block ok 3 - AST: block returns expression ok 4 - AST: POST actually ran ok 5 - Str: did we get a Block ok 6 - Str: block returns expression ok 7 - Str: POST actually ran ok 8 - Raku: did we get a Block ok 9 - Raku: block returns expression ok 10 - Raku: POST actually ran ok 11 - AST: did we get a Block # Subtest: AST: POST phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches POST ok 4 - .message matches / '$post = $_' / ok 12 - AST: POST phaser throws ok 13 - AST: POST actually ran ok 14 - Str: did we get a Block # Subtest: Str: POST phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches POST ok 4 - .message matches / '$post = $_' / ok 15 - Str: POST phaser throws ok 16 - Str: POST actually ran ok 17 - Raku: did we get a Block # Subtest: Raku: POST phaser throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Phaser::PrePost) ok 3 - .phaser matches POST ok 4 - .message matches / '$post = $_' / ok 18 - Raku: POST phaser throws ok 19 - Raku: POST actually ran 1..19 ok 30 - Block with POST phaser block ok 31 - leaving END block ok 32 - leaving END block ok 33 - leaving END block ok 34 - leaving END thunk ok 35 - leaving END thunk ok 36 - leaving END thunk ok t/12-rakuast/regex.rakutest ..................................... 1..56 # Subtest: Simple literal regex # /foo/ ok 1 - deparse ok 2 - AST: start of string ok 3 - AST: middle of string ok 4 - AST: not matched ok 5 - Str: start of string ok 6 - Str: middle of string ok 7 - Str: not matched ok 8 - Raku: start of string ok 9 - Raku: middle of string ok 10 - Raku: not matched 1..10 ok 1 - Simple literal regex # Subtest: Sequential alternation takes first match even if second is longer # /b|| bc/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 2 - Sequential alternation takes first match even if second is longer # Subtest: Sequential alternation takes second match if first fails # /x|| bc/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 3 - Sequential alternation takes second match if first fails # Subtest: Sequential alternation fails if no alternative matches # /x|| y/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 4 - Sequential alternation fails if no alternative matches # Subtest: LTM alternation takes longest match even if it is not first # /b| bc/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 5 - LTM alternation takes longest match even if it is not first # Subtest: Alternation takes second match if first fails # /x| bc/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 6 - Alternation takes second match if first fails # Subtest: Alternation fails if no alternative matches # /x| y/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 7 - Alternation fails if no alternative matches # Subtest: Conjunction matches when both items match # /.& c/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 8 - Conjunction matches when both items match # Subtest: Conjunction fails when one item does not match # /.& x/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 9 - Conjunction fails when one item does not match # Subtest: Conjunction fails when items match different lengths # /.& cd/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 10 - Conjunction fails when items match different lengths # Subtest: Sequence needs one thing to match after the other (pass case) # /.d/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 11 - Sequence needs one thing to match after the other (pass case) # Subtest: Sequence needs one thing to match after the other (failure case) # /.a/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 12 - Sequence needs one thing to match after the other (failure case) # Subtest: Beginning of string anchor works (pass case) # /^ ./ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 13 - Beginning of string anchor works (pass case) # Subtest: Beginning of string anchor works (failure case) # /^ b/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 14 - Beginning of string anchor works (failure case) # Subtest: Beginning of line anchor works (pass case) # /^^ ./ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 15 - Beginning of line anchor works (pass case) # Subtest: Beginning of line anchor works (failure case) # /^^ b/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 16 - Beginning of line anchor works (failure case) # Subtest: End of string anchor works (pass case) # /.$ / ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 17 - End of string anchor works (pass case) # Subtest: End of string anchor works (failure case) # /b$ / ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 18 - End of string anchor works (failure case) # Subtest: End of line anchor works (pass case) # /.$$ / ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 19 - End of line anchor works (pass case) # Subtest: End of line anchor works (failure case) # /b$$ / ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 20 - End of line anchor works (failure case) # Subtest: Right word boundary works # /.e>> / ok 1 - deparse ok 2 - AST: pass case ok 3 - AST: fail case ok 4 - Str: pass case ok 5 - Str: fail case ok 6 - Raku: pass case ok 7 - Raku: fail case 1..7 ok 21 - Right word boundary works # Subtest: Left word boundary works # /<< .t/ ok 1 - deparse ok 2 - AST: pass case ok 3 - AST: fail case ok 4 - Str: pass case ok 5 - Str: fail case ok 6 - Raku: pass case ok 7 - Raku: fail case 1..7 ok 22 - Left word boundary works # Subtest: Quantified + built-in character class matches # /\d+/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 23 - Quantified + built-in character class matches # Subtest: Quantified * built-in character class matches # /\d*/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 24 - Quantified * built-in character class matches # Subtest: Quantified ? built-in character class matches # /\d?/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 25 - Quantified ? built-in character class matches # Subtest: Quantified ** built-in character class matches # /\d** 1^..^5/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 26 - Quantified ** built-in character class matches # Subtest: Quantified negated built-in character class matches # /\D+/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 27 - Quantified negated built-in character class matches # Subtest: Quantified built-in character class matches (frugal mode) # /\d+?/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 28 - Quantified built-in character class matches (frugal mode) # Subtest: Quantified negated built-in character class matches (frugal mode) # /\D+?/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 29 - Quantified negated built-in character class matches (frugal mode) # Subtest: Greedy quantifier will backtrack # /^ \d+!9/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 30 - Greedy quantifier will backtrack # Subtest: Ratchet quantifier will not backtrack # /^ \d+:9/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 31 - Ratchet quantifier will not backtrack # Subtest: Separator works (non-trailing case) # /\d+% ","/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 32 - Separator works (non-trailing case) # Subtest: Separator works (trailing case) # /\d+%% ","/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 33 - Separator works (trailing case) # Subtest: Separator must be between every quantified item # /\d+% ","/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 34 - Separator must be between every quantified item # Subtest: Regex groups compile correctly # /[\d+]+% ","/ ok 1 - deparse ok 2 - AST: did we get correct match ok 3 - AST: no positional captures from non-capturing group ok 4 - AST: no named captures from non-capturing group ok 5 - Str: did we get correct match ok 6 - Str: no positional captures from non-capturing group ok 7 - Str: no named captures from non-capturing group ok 8 - Raku: did we get correct match ok 9 - Raku: no positional captures from non-capturing group ok 10 - Raku: no named captures from non-capturing group 1..10 ok 35 - Regex groups compile correctly # Subtest: Regex with two positional capturing groups matches correctly # /(\w)\d(\w)/ ok 1 - deparse ok 2 - AST: did we get correct match ok 3 - AST: Two positional captures ok 4 - AST: First positional capture is correct ok 5 - AST: Second positional capture is correct ok 6 - AST: No named captures ok 7 - Str: did we get correct match ok 8 - Str: Two positional captures ok 9 - Str: First positional capture is correct ok 10 - Str: Second positional capture is correct ok 11 - Str: No named captures ok 12 - Raku: did we get correct match ok 13 - Raku: Two positional captures ok 14 - Raku: First positional capture is correct ok 15 - Raku: Second positional capture is correct ok 16 - Raku: No named captures 1..16 ok 36 - Regex with two positional capturing groups matches correctly # Subtest: Match from and match to markers works # /b<( \d)> c/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 37 - Match from and match to markers works # Subtest: Match involving a quoted string literal works # /lie/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 38 - Match involving a quoted string literal works # Subtest: Match involving a quoted string with interpolation works # /"e$end"/ ok 1 - deparse ok 2 - EVAL over RakuAST ok 3 - EVAL over deparsed AST 1..3 ok 39 - Match involving a quoted string with interpolation works # Subtest: Match involving quote words works # /<{ qqw/link inky linky/ }>/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 40 - Match involving quote words works # Subtest: Match with positional backreference # /(o)$0/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 41 - Match with positional backreference # Subtest: Match with named backreference # /$=o$/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 42 - Match with named backreference # Subtest: Match with interpolated variable # /$expected/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 43 - Match with interpolated variable # Subtest: Match with block # /o{ # is($/, "o", "block") # }o/ ok 1 - deparse # Subtest: matches 1..6 ok 1 - block ok 2 - AST: EVAL is ok 3 - block ok 4 - Str: EVAL is ok 5 - block ok 6 - Raku: EVAL is ok 2 - matches 1..2 ok 44 - Match with block # Subtest: Match with variable definition # /o:my $foo; o/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 45 - Match with variable definition # Subtest: Match with ignoring case # /:i oo/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 46 - Match with ignoring case # Subtest: Match with *not* ignoring case # /:!i OO/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 47 - Match with *not* ignoring case # Subtest: No match with *not* ignoring case # /:!i oo/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 48 - No match with *not* ignoring case # Subtest: Match with ignoring mark # /:m oo/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 49 - Match with ignoring mark # Subtest: Match with *not* ignoring mark # /:!m ôô/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 50 - Match with *not* ignoring mark # Subtest: No match with *not* ignoring mark # /:!m oo/ ok 1 - deparse # Subtest: doesn't match 1..3 ok 1 - AST: EVAL nok ok 2 - Str: EVAL nok ok 3 - Raku: EVAL nok ok 2 - doesn't match 1..2 ok 51 - No match with *not* ignoring mark # Subtest: Match with ratchet # /o:r o/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 52 - Match with ratchet # Subtest: Match without ratchet # /o:!r o/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 53 - Match without ratchet # Subtest: Match with sigspace # /o:s o / ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 54 - Match with sigspace # Subtest: Match without sigspace # /o :!s o/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is ok 2 - Str: EVAL is ok 3 - Raku: EVAL is ok 2 - matches 1..2 ok 55 - Match without sigspace # Subtest: Match with a dba name # /:dba("digits") \d+/ ok 1 - deparse # Subtest: matches 1..3 ok 1 - AST: EVAL is not ok 2 - Str: EVAL is # TODO the legacy frontend breaks matching on :dba # Failed test 'Str: EVAL is' # at t/12-rakuast/regex.rakutest line 774 # expected: '42' # got: (Nil) ok 3 - Raku: EVAL is not ok 2 - matches # TODO the legacy frontend breaks matching on :dba # Failed test 'matches' # at t/12-rakuast/regex.rakutest line 774 1..2 ok 56 - Match with a dba name ok t/05-messages/02-errors.t ....................................... 1..47 # Subtest: :2(1) suggests using 1.base(2) 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - :2(1) suggests using 1.base(2) # Subtest: anonymous subs get '' in arity error messages 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches / '' / ok 2 - anonymous subs get '' in arity error messages # Subtest: did we throws-like X::TypeCheck::Binding::Parameter? 1..3 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Binding::Parameter) ok 3 - .message matches /'type check failed'/ ok 3 - did we throws-like X::TypeCheck::Binding::Parameter? ok 4 - auto-generated methods present in .^methods # Subtest: Failure.new(Exception.new) does not segfault 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - Failure.new(Exception.new) does not segfault # Subtest: Trying to assign to immutable List element gives useful error 1..3 ok 1 - code dies ok 2 - right exception type (X::Assignment::RO) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4132079072) ... } ok 6 - Trying to assign to immutable List element gives useful error # Subtest: death in whenevered Supply referenced original location of throw 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 7 - death in whenevered Supply referenced original location of throw # Subtest: using wrong sigil on var suggests correct variable name 1..3 # Subtest: @array for $array 1..3 ok 1 - 'my @foo; $foo[1] = 42' died ok 2 - right exception type (X::Undeclared) ok 3 - .message matches /'Did you mean' .+ '@foo'/ ok 1 - @array for $array # Subtest: %hash for $hash 1..3 ok 1 - 'my %foo; $foo<2> = 42' died ok 2 - right exception type (X::Undeclared) ok 3 - .message matches /'Did you mean' .+ '%foo'/ ok 2 - %hash for $hash # Subtest: @foo and %foo for $foo, when both are declared 1..3 ok 1 - 'my @foo; my %foo; $foo<2> = 42' died ok 2 - right exception type (X::Undeclared) ok 3 - .message matches /'Did you mean' .+ [ '@foo' .+ '%foo' | '%foo' .+ '@foo' ]/ ok 3 - @foo and %foo for $foo, when both are declared ok 8 - using wrong sigil on var suggests correct variable name # Subtest: RO assignment indicates value of the thing being assigned into 1..3 ok 1 - 'my $x; $x = 50; 42 = $x' died ok 2 - right exception type (X::Assignment::RO) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|4132169088) ... } ok 9 - RO assignment indicates value of the thing being assigned into # Subtest: declaring enum with uninitialized hash warns about it 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 10 - declaring enum with uninitialized hash warns about it # Subtest: error with `=end MEOWS` suggests mistake and offers `=begin MEOWS` 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 11 - error with `=end MEOWS` suggests mistake and offers `=begin MEOWS` # Subtest: error for `=for` suggests it might be a mistake 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 12 - error for `=for` suggests it might be a mistake # Subtest: `say 1 if;` does not repeat error 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 13 - `say 1 if;` does not repeat error # Subtest: `say 1 unless;` does not repeat error 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 14 - `say 1 unless;` does not repeat error # Subtest: C3 linearization mentions line number 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 15 - C3 linearization mentions line number # Subtest: no guts spillage with `(:::[])` 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 16 - no guts spillage with `(:::[])` # Subtest: cmp-ok with Str metaop comparator suggests a working alternative` 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 17 - cmp-ok with Str metaop comparator suggests a working alternative` # Subtest: an ambiguous call includes the arguments in the error message 1..3 ok 1 - code dies ok 2 - right exception type (X::Multi::Ambiguous) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3880639976) ... } ok 18 - an ambiguous call includes the arguments in the error message # Subtest: sprintf %d directive with one directive and no corresponding argument throws 1..4 ok 1 - code dies ok 2 - right exception type (X::Str::Sprintf::Directives::Count) ok 3 - .args-have matches 0 ok 4 - .args-used matches 1 ok 19 - sprintf %d directive with one directive and no corresponding argument throws # Subtest: error message when binding to native int array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot bind to a native int array ok 20 - error message when binding to native int array # Subtest: error message when :deleting from native int array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot delete from a native int array ok 21 - error message when :deleting from native int array # Subtest: error message when binding to native int array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot bind to a native int array ok 22 - error message when binding to native int array # Subtest: error message when :deleting from shaped native int array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot delete from a native int array ok 23 - error message when :deleting from shaped native int array # Subtest: error message when binding to native num array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot bind to a native num array ok 24 - error message when binding to native num array # Subtest: error message when :deleting from native num array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot delete from a native num array ok 25 - error message when :deleting from native num array # Subtest: error message when binding to native num array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot bind to a native num array ok 26 - error message when binding to native num array # Subtest: error message when :deleting from shaped native num array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot delete from a native num array ok 27 - error message when :deleting from shaped native num array # Subtest: error message when binding to native str array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot bind to a native str array ok 28 - error message when binding to native str array # Subtest: error message when :deleting from native str array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot delete from a native str array ok 29 - error message when :deleting from native str array # Subtest: error message when binding to native str array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot bind to a native str array ok 30 - error message when binding to native str array # Subtest: error message when :deleting from shaped native str array 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches Cannot delete from a native str array ok 31 - error message when :deleting from shaped native str array # Subtest: USAGE with subsets/where and variables with quotes 1..3 # Subtest: named params 1..3 # Subtest: mentions subset name 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - mentions subset name # Subtest: Type + where clauses shown sanely 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - Type + where clauses shown sanely # Subtest: subset + where clauses shown sanely 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - subset + where clauses shown sanely ok 1 - named params # Subtest: anon positional params 1..3 # Subtest: mentions subset name 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - mentions subset name # Subtest: where clauses shown sanely 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - where clauses shown sanely # Subtest: subset + where clauses shown sanely 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - subset + where clauses shown sanely ok 2 - anon positional params # Subtest: variable name does not get special quote treatment 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - variable name does not get special quote treatment ok 32 - USAGE with subsets/where and variables with quotes # Subtest: :bundling and negation/explicit arguments 1..6 # Subtest: cannot combine bundling with explicit arguments 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 1 - cannot combine bundling with explicit arguments # Subtest: cannot combine bundling with explicit arguments, even the empty string 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - cannot combine bundling with explicit arguments, even the empty string # Subtest: cannot combine bundling with explicit arguments, even a nil argument 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 3 - cannot combine bundling with explicit arguments, even a nil argument # Subtest: can pass explicit argument to a single option, even with bundling enabled 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 4 - can pass explicit argument to a single option, even with bundling enabled # Subtest: cannot combine bundling with negation 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 5 - cannot combine bundling with negation # Subtest: can negate single option, even with bundling enabled 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 6 - can negate single option, even with bundling enabled ok 33 - :bundling and negation/explicit arguments # Subtest: did we throws-like X::OutOfRange? 1..3 ok 1 - code dies ok 2 - right exception type (X::OutOfRange) ok 3 - .message matches /'Start argument to substr' .+ 'should be in 0..3' .+ '*-5'/ ok 34 - did we throws-like X::OutOfRange? # Subtest: did we throws-like X::OutOfRange? 1..3 ok 1 - code dies ok 2 - right exception type (X::OutOfRange) ok 3 - .message matches /'should be in 0..0' .+ '*-1000'/ ok 35 - did we throws-like X::OutOfRange? # Subtest: .tap block with incorrect signature must fail 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 36 - .tap block with incorrect signature must fail # Subtest: .tap block with incorrect signature must fail 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 37 - .tap block with incorrect signature must fail # Subtest: X::Multi::NoMatch does not dump entire contents of variables 1..3 ok 1 - ' # multi z (@a, Int, :$x where 1) {} # multi z (@a, Str, :$x where 1) {} # my @a = 1..200; z(@a, <1>, :x[1..200]) # ' died ok 2 - right exception type (X::Multi::NoMatch) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3880788152) ... } ok 38 - X::Multi::NoMatch does not dump entire contents of variables # Subtest: X::Assignment::RO does not dump entire contents of variables 1..3 ok 1 - 'Set.new(1..300)<42> = 42' died ok 2 - right exception type (X::Assignment::RO) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3880588144) ... } ok 39 - X::Assignment::RO does not dump entire contents of variables # Subtest: cannot use Int type object as an operand 1..14 # Subtest: A Rational instance cannot be added by an Int type object 1..2 ok 1 - '(1/1)+Int' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 1 - A Rational instance cannot be added by an Int type object # Subtest: An Int type object cannot be added by a Rational instance 1..2 ok 1 - 'Int+(1/1)' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 2 - An Int type object cannot be added by a Rational instance # Subtest: A Rational instance cannot be subtracted by an Int type object 1..2 ok 1 - '(1/1)-Int' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 3 - A Rational instance cannot be subtracted by an Int type object # Subtest: An Int type object cannot be subtracted by a Rational instance 1..2 ok 1 - 'Int-(1/1)' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 4 - An Int type object cannot be subtracted by a Rational instance # Subtest: A Rational instance cannot be multiplied by an Int type object 1..2 ok 1 - '(1/1)*Int' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 5 - A Rational instance cannot be multiplied by an Int type object # Subtest: An Int type object cannot be multiplied by a Rational instance 1..2 ok 1 - 'Int*(1/1)' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 6 - An Int type object cannot be multiplied by a Rational instance # Subtest: A Rational instance cannot be divided by an Int type object 1..2 ok 1 - '(1/1)/Int' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 7 - A Rational instance cannot be divided by an Int type object # Subtest: An Int type object cannot be divided by a Rational instance 1..2 ok 1 - 'Int/(1/1)' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 8 - An Int type object cannot be divided by a Rational instance # Subtest: An Int type object cannot be divided by an Int type object 1..2 ok 1 - 'Int/Int' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 9 - An Int type object cannot be divided by an Int type object # Subtest: An Int type object cannot be divided by an Int instance 1..2 ok 1 - 'Int/1' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 10 - An Int type object cannot be divided by an Int instance # Subtest: An Int instance cannot be divided by an Int type object 1..2 ok 1 - '1/Int' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 11 - An Int instance cannot be divided by an Int type object # Subtest: A Rational instance modulo an Int type object is incalculable 1..2 ok 1 - '(1/1)%Int' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 12 - A Rational instance modulo an Int type object is incalculable # Subtest: An Int type object modulo a Rational instance is incalculable 1..2 ok 1 - 'Int%(1/1)' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 13 - An Int type object modulo a Rational instance is incalculable # Subtest: A Rational instance cannot be powered by an Int type object 1..2 ok 1 - '(1/1)**Int' died ok 2 - right exception type (X::Numeric::Uninitialized) ok 14 - A Rational instance cannot be powered by an Int type object ok 40 - cannot use Int type object as an operand # Subtest: unit-scoped sub def mentions potential unwanted semicolon 1..3 ok 1 - 'sub meows;' died ok 2 - right exception type (X::UnitScope::Invalid) ok 3 - .message matches / # "placed a semicolon after routine's definition" # / ok 41 - unit-scoped sub def mentions potential unwanted semicolon # Subtest: Trying to assign to immutable Range element gives useful error 1..3 ok 1 - code dies ok 2 - right exception type (X::Assignment::RO) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3835383152) ... } ok 42 - Trying to assign to immutable Range element gives useful error # Subtest: optimizer flag gets propagated to EVAL 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 43 - optimizer flag gets propagated to EVAL # Subtest: suggests to use "use v6;" or "use v6.c;" when "use 6.0" is called 1..3 ok 1 - 'use 6.0;' died ok 2 - right exception type (X::Undeclared::Symbols) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3835386752) ... } ok 44 - suggests to use "use v6;" or "use v6.c;" when "use 6.0" is called # Subtest: suggests to use "use v6;" or "use v6.c;" when "need 6.0" is called 1..3 ok 1 - 'need 6.0;' died ok 2 - right exception type (X::Undeclared::Symbols) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3835386912) ... } ok 45 - suggests to use "use v6;" or "use v6.c;" when "need 6.0" is called # Subtest: suggests to use "use v6;" or "use v6.c;" when "need v6.0" is called 1..3 ok 1 - 'need v6.0;' died ok 2 - right exception type (Exception) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3835387712) ... } ok 46 - suggests to use "use v6;" or "use v6.c;" when "need v6.0" is called # Subtest: detached non-alpha method says what the problem is 1..3 ok 1 - '^42 .^methods.say' died ok 2 - right exception type (X::Syntax::Malformed) ok 3 - .message matches -> ;; $_? is raw = OUTER::<$_> { \#`(Block|3835388552) ... } ok 47 - detached non-alpha method says what the problem is ok t/12-rakuast/var.rakutest ....................................... 1..59 # Subtest: Special compiler variable $?FILE # $?FILE ok 1 - deparse ok 2 - AST not ok 3 - Str # TODO Depends on Raku grammar/actions # Failed test 'Str' # at t/12-rakuast/var.rakutest line 25 # expected: "EVAL_1" # got: "/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/EVAL_1" ok 4 - Raku 1..4 not ok 1 - Special compiler variable $?FILE # TODO Depends on Raku grammar/actions # Failed test 'Special compiler variable $?FILE' # at t/12-rakuast/var.rakutest line 19 # Subtest: Special compiler variable $?FILE # ::?CLASS ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 2 - Special compiler variable $?FILE # Subtest: Special compiler variable $?LINE # $?LINE ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 3 - Special compiler variable $?LINE # Subtest: Special compiler variable $?PACKAGE # $?PACKAGE ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 4 - Special compiler variable $?PACKAGE # Subtest: Generic package variable lookup # $Foo::foo ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 5 - Generic package variable lookup # Subtest: Lexical variable lookup ($ sigil) # $x ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 6 - Lexical variable lookup ($ sigil) # Subtest: Lexical variable lookup (& sigil) # &plan ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 7 - Lexical variable lookup (& sigil) # Subtest: A variable in the setting # SETTING::<&val> ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 8 - A variable in the setting # Subtest: Positional capture variable lookup works # $0 ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku # $1 ok 5 - deparse ok 6 - AST ok 7 - Str ok 8 - Raku 1..8 ok 9 - Positional capture variable lookup works # Subtest: Named capture variable lookup works # $ ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku # $ ok 5 - deparse ok 6 - AST ok 7 - Str ok 8 - Raku 1..8 ok 10 - Named capture variable lookup works # Subtest: variable declaration takes scope and name # my $foo ok 1 - deparse ok 2 - did we get scope: my ok 3 - did we get the right name # state $foo ok 4 - deparse ok 5 - did we get scope: state ok 6 - did we get the right name 1..6 ok 11 - variable declaration takes scope and name # Subtest: Lexical variable my|state declarations work # my $foo; # $foo = 10; # $foo ok 1 - deparse ok 2 - AST: my ok 3 - Str: my ok 4 - Raku: my # state $foo; # $foo = 10; # $foo ok 5 - deparse ok 6 - AST: state ok 7 - Str: state ok 8 - Raku: state 1..8 ok 12 - Lexical variable my|state declarations work # Subtest: Defaults of my|state untyped container # my $foo; # $foo ok 1 - deparse ok 2 - AST: my default value is Any ok 3 - AST: my Default constraint is Mu ok 4 - Str: my default value is Any ok 5 - Str: my Default constraint is Mu ok 6 - Raku: my default value is Any ok 7 - Raku: my Default constraint is Mu # state $foo; # $foo ok 8 - deparse ok 9 - AST: state default value is Any ok 10 - AST: state Default constraint is Mu ok 11 - Str: state default value is Any ok 12 - Str: state Default constraint is Mu ok 13 - Raku: state default value is Any ok 14 - Raku: state Default constraint is Mu 1..14 ok 13 - Defaults of my|state untyped container # Subtest: Typed variable my|state declaration (type matches in assignment) # my Int $foo; # $foo = 99; # $foo ok 1 - deparse ok 2 - AST: my ok 3 - Str: my ok 4 - Raku: my # state Int $foo; # $foo = 99; # $foo ok 5 - deparse ok 6 - AST: state ok 7 - Str: state ok 8 - Raku: state 1..8 ok 14 - Typed variable my|state declaration (type matches in assignment) # Subtest: Typed variable my|state declaration (type mismatch throws) # my Int $foo; # $foo = 100000e0; # $foo ok 1 - deparse # Subtest: did we throws-like X::TypeCheck::Assignment? 1..4 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .got matches 100000 ok 4 - .expected matches (Int) ok 2 - did we throws-like X::TypeCheck::Assignment? # Subtest: did we throws-like X::TypeCheck::Assignment? 1..4 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) not ok 3 - .got matches 100000 # TODO string EVAL produces different error # Failed test '.got matches 100000' # at SETTING::src/core.c/Rakudo/Iterator.rakumod line 5974 Use of uninitialized value element of type Any in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/lib/Test.rakumod (Test) line 673 # Expected: 100000e0 # Got: not ok 4 - .expected matches (Int) # TODO string EVAL produces different error # Failed test '.expected matches (Int)' # at SETTING::src/core.c/Rakudo/Iterator.rakumod line 5974 Use of uninitialized value element of type Any in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/lib/Test.rakumod (Test) line 673 # Expected: Int # Got: not ok 3 - did we throws-like X::TypeCheck::Assignment? # TODO string EVAL produces different error # Failed test 'did we throws-like X::TypeCheck::Assignment?' # at t/12-rakuast/var.rakutest line 295 # Subtest: did we throws-like X::TypeCheck::Assignment? 1..4 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .got matches 100000 ok 4 - .expected matches (Int) ok 4 - did we throws-like X::TypeCheck::Assignment? # state Int $foo; # $foo = 100000e0; # $foo ok 5 - deparse # Subtest: did we throws-like X::TypeCheck::Assignment? 1..4 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .expected matches (Int) ok 4 - .got matches 100000 ok 6 - did we throws-like X::TypeCheck::Assignment? # Subtest: did we throws-like X::TypeCheck::Assignment? 1..4 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) not ok 3 - .got matches 100000 # TODO string EVAL produces different error # Failed test '.got matches 100000' # at SETTING::src/core.c/Rakudo/Iterator.rakumod line 5974 Use of uninitialized value element of type Any in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/lib/Test.rakumod (Test) line 673 # Expected: 100000e0 # Got: not ok 4 - .expected matches (Int) # TODO string EVAL produces different error # Failed test '.expected matches (Int)' # at SETTING::src/core.c/Rakudo/Iterator.rakumod line 5974 Use of uninitialized value element of type Any in string context. Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful. in block at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/lib/Test.rakumod (Test) line 673 # Expected: Int # Got: not ok 7 - did we throws-like X::TypeCheck::Assignment? # TODO string EVAL produces different error # Failed test 'did we throws-like X::TypeCheck::Assignment?' # at t/12-rakuast/var.rakutest line 295 # Subtest: did we throws-like X::TypeCheck::Assignment? 1..4 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - .got matches 100000 ok 4 - .expected matches (Int) ok 8 - did we throws-like X::TypeCheck::Assignment? 1..8 ok 15 - Typed variable my|state declaration (type mismatch throws) # Subtest: Lexical variable my|state declaration with assignment initializer # my $var = 125; # $var ok 1 - deparse ok 2 - AST: my variable declarations with assignment initializer ok 3 - AST: my was an assignment into a Scalar container ok 4 - AST: my is not dynamic ok 5 - AST: my can update the container that was produced ok 6 - Str: my variable declarations with assignment initializer ok 7 - Str: my was an assignment into a Scalar container ok 8 - Str: my is not dynamic ok 9 - Str: my can update the container that was produced ok 10 - Raku: my variable declarations with assignment initializer ok 11 - Raku: my was an assignment into a Scalar container ok 12 - Raku: my is not dynamic ok 13 - Raku: my can update the container that was produced # state $var = 125; # $var ok 14 - deparse ok 15 - AST: state variable declarations with assignment initializer ok 16 - AST: state was an assignment into a Scalar container ok 17 - AST: state is not dynamic ok 18 - AST: state can update the container that was produced ok 19 - Str: state variable declarations with assignment initializer ok 20 - Str: state was an assignment into a Scalar container ok 21 - Str: state is not dynamic ok 22 - Str: state can update the container that was produced ok 23 - Raku: state variable declarations with assignment initializer ok 24 - Raku: state was an assignment into a Scalar container ok 25 - Raku: state is not dynamic ok 26 - Raku: state can update the container that was produced 1..26 ok 16 - Lexical variable my|state declaration with assignment initializer # Subtest: Lexical my|state array declaration with assignment initializer # my @var = 22, 33; # @var ok 1 - deparse ok 2 - AST: my ok 3 - Str: my ok 4 - Raku: my # state @var = 22, 33; # @var ok 5 - deparse ok 6 - AST: state ok 7 - Str: state ok 8 - Raku: state 1..8 ok 17 - Lexical my|state array declaration with assignment initializer # Subtest: Lexical my|state variable declarations with bind initializer # my $var := 225; # $var ok 1 - deparse ok 2 - AST: my variable declarations with bind initializer ok 3 - AST: my really was bound; no Scalar container ok 4 - AST: my cannot assign as it is not a container ok 5 - Str: my variable declarations with bind initializer ok 6 - Str: my really was bound; no Scalar container ok 7 - Str: my cannot assign as it is not a container ok 8 - Raku: my variable declarations with bind initializer ok 9 - Raku: my really was bound; no Scalar container ok 10 - Raku: my cannot assign as it is not a container # state $var := 225; # $var ok 11 - deparse 1..11 ok 18 - Lexical my|state variable declarations with bind initializer # Subtest: Anonymous state variable declaration # -> { # ++$ + ++$ # } ok 1 - deparse ok 2 - AST: anonymous state variables works are are distinct ok 3 - Str: anonymous state variables works are are distinct ok 4 - Raku: anonymous state variables works are are distinct 1..4 ok 19 - Anonymous state variable declaration # Subtest: Dynamic variable access # $*dyn ok 1 - deparse ok 2 - AST access outside ok 3 - Str access outside ok 4 - Raku access outside ok 5 - AST access inside ok 6 - Str access inside # $*OUT ok 7 - deparse ok 8 - AST checking $*OUT ok 9 - Str checking $*OUT ok 10 - Raku checking $*OUT 1..10 ok 20 - Dynamic variable access # Subtest: Dynamic variable declaration and assignment, dynamic lookup # my $*var = 360; # $*var ok 1 - deparse ok 2 - AST: Dynamic variable declaration and assignment, dynamic lookup ok 3 - AST: Dynamic did an assignment into a Scalar container ok 4 - AST: Is a dynamic ok 5 - AST: Can update the container that was produced ok 6 - Str: Dynamic variable declaration and assignment, dynamic lookup ok 7 - Str: Dynamic did an assignment into a Scalar container ok 8 - Str: Is a dynamic ok 9 - Str: Can update the container that was produced ok 10 - Raku: Dynamic variable declaration and assignment, dynamic lookup ok 11 - Raku: Dynamic did an assignment into a Scalar container ok 12 - Raku: Is a dynamic ok 13 - Raku: Can update the container that was produced 1..13 ok 21 - Dynamic variable declaration and assignment, dynamic lookup # Subtest: @ sigil my|state var is initialized to Array # my @arr; # @arr ok 1 - deparse ok 2 - AST: my @ sigil var is initialized to Array ok 3 - AST: my @ sigil var not wrapped in Scalar ok 4 - AST: my it is a defined Array instance ok 5 - AST: my it is empty ok 6 - AST: my element is a Scalar ok 7 - AST: my contains an Any by default ok 8 - AST: my constraint is Mu by default ok 9 - Str: my @ sigil var is initialized to Array ok 10 - Str: my @ sigil var not wrapped in Scalar ok 11 - Str: my it is a defined Array instance ok 12 - Str: my it is empty ok 13 - Str: my element is a Scalar ok 14 - Str: my contains an Any by default ok 15 - Str: my constraint is Mu by default ok 16 - Raku: my @ sigil var is initialized to Array ok 17 - Raku: my @ sigil var not wrapped in Scalar ok 18 - Raku: my it is a defined Array instance ok 19 - Raku: my it is empty ok 20 - Raku: my element is a Scalar ok 21 - Raku: my contains an Any by default ok 22 - Raku: my constraint is Mu by default # state @arr; # @arr ok 23 - deparse ok 24 - AST: state @ sigil var is initialized to Array ok 25 - AST: state @ sigil var not wrapped in Scalar ok 26 - AST: state it is a defined Array instance ok 27 - AST: state it is empty ok 28 - AST: state element is a Scalar ok 29 - AST: state contains an Any by default ok 30 - AST: state constraint is Mu by default ok 31 - Str: state @ sigil var is initialized to Array ok 32 - Str: state @ sigil var not wrapped in Scalar ok 33 - Str: state it is a defined Array instance ok 34 - Str: state it is empty ok 35 - Str: state element is a Scalar ok 36 - Str: state contains an Any by default ok 37 - Str: state constraint is Mu by default ok 38 - Raku: state @ sigil var is initialized to Array ok 39 - Raku: state @ sigil var not wrapped in Scalar ok 40 - Raku: state it is a defined Array instance ok 41 - Raku: state it is empty ok 42 - Raku: state element is a Scalar ok 43 - Raku: state contains an Any by default ok 44 - Raku: state constraint is Mu by default 1..44 ok 22 - @ sigil my|state var is initialized to Array # Subtest: % sigil my|state var is initialized to Hash # my %hash; # %hash ok 1 - deparse ok 2 - AST: my % sigil var is initialized to Hash ok 3 - AST: my % sigil var not wrapped in Scalar ok 4 - AST: my it is a defined Hash instance ok 5 - AST: my it is empty ok 6 - AST: my element is a Scalar ok 7 - AST: my contains an Any by default ok 8 - AST: my constraint is Mu by default ok 9 - Str: my % sigil var is initialized to Hash ok 10 - Str: my % sigil var not wrapped in Scalar ok 11 - Str: my it is a defined Hash instance ok 12 - Str: my it is empty ok 13 - Str: my element is a Scalar ok 14 - Str: my contains an Any by default ok 15 - Str: my constraint is Mu by default ok 16 - Raku: my % sigil var is initialized to Hash ok 17 - Raku: my % sigil var not wrapped in Scalar ok 18 - Raku: my it is a defined Hash instance ok 19 - Raku: my it is empty ok 20 - Raku: my element is a Scalar ok 21 - Raku: my contains an Any by default ok 22 - Raku: my constraint is Mu by default # state %hash; # %hash ok 23 - deparse ok 24 - AST: state % sigil var is initialized to Hash ok 25 - AST: state % sigil var not wrapped in Scalar ok 26 - AST: state it is a defined Hash instance ok 27 - AST: state it is empty ok 28 - AST: state element is a Scalar ok 29 - AST: state contains an Any by default ok 30 - AST: state constraint is Mu by default ok 31 - Str: state % sigil var is initialized to Hash ok 32 - Str: state % sigil var not wrapped in Scalar ok 33 - Str: state it is a defined Hash instance ok 34 - Str: state it is empty ok 35 - Str: state element is a Scalar ok 36 - Str: state contains an Any by default ok 37 - Str: state constraint is Mu by default ok 38 - Raku: state % sigil var is initialized to Hash ok 39 - Raku: state % sigil var not wrapped in Scalar ok 40 - Raku: state it is a defined Hash instance ok 41 - Raku: state it is empty ok 42 - Raku: state element is a Scalar ok 43 - Raku: state contains an Any by default ok 44 - Raku: state constraint is Mu by default 1..44 ok 23 - % sigil my|state var is initialized to Hash # Subtest: @ sigil my|state var with Int type is an Array # my Int @arr; # @arr ok 1 - deparse ok 2 - AST: my @ sigil var with Int type is an Array ok 3 - AST: my it does Positional[Int] ok 4 - AST: my .of gives Int ok 5 - AST: my it is empty ok 6 - AST: my element is a Scalar ok 7 - AST: my contains an Int ok 8 - AST: my constraint is Int ok 9 - Str: my @ sigil var with Int type is an Array ok 10 - Str: my it does Positional[Int] ok 11 - Str: my .of gives Int ok 12 - Str: my it is empty ok 13 - Str: my element is a Scalar ok 14 - Str: my contains an Int ok 15 - Str: my constraint is Int ok 16 - Raku: my @ sigil var with Int type is an Array ok 17 - Raku: my it does Positional[Int] ok 18 - Raku: my .of gives Int ok 19 - Raku: my it is empty ok 20 - Raku: my element is a Scalar ok 21 - Raku: my contains an Int ok 22 - Raku: my constraint is Int # state Int @arr; # @arr ok 23 - deparse ok 24 - AST: state @ sigil var with Int type is an Array ok 25 - AST: state it does Positional[Int] ok 26 - AST: state .of gives Int ok 27 - AST: state it is empty ok 28 - AST: state element is a Scalar ok 29 - AST: state contains an Int ok 30 - AST: state constraint is Int ok 31 - Str: state @ sigil var with Int type is an Array ok 32 - Str: state it does Positional[Int] ok 33 - Str: state .of gives Int ok 34 - Str: state it is empty ok 35 - Str: state element is a Scalar ok 36 - Str: state contains an Int ok 37 - Str: state constraint is Int ok 38 - Raku: state @ sigil var with Int type is an Array ok 39 - Raku: state it does Positional[Int] ok 40 - Raku: state .of gives Int ok 41 - Raku: state it is empty ok 42 - Raku: state element is a Scalar ok 43 - Raku: state contains an Int ok 44 - Raku: state constraint is Int 1..44 ok 24 - @ sigil my|state var with Int type is an Array # Subtest: % sigil my|state var with Int type is a Hash # my Int %hash; # %hash ok 1 - deparse ok 2 - AST: my % sigil var with Int type is a Hash ok 3 - AST: my it does Associative[Int] ok 4 - AST: my .of gives Int ok 5 - AST: my it is empty ok 6 - AST: my element is a Scalar ok 7 - AST: my contains an Int ok 8 - AST: my constraint is Int ok 9 - Str: my % sigil var with Int type is a Hash ok 10 - Str: my it does Associative[Int] ok 11 - Str: my .of gives Int ok 12 - Str: my it is empty ok 13 - Str: my element is a Scalar ok 14 - Str: my contains an Int ok 15 - Str: my constraint is Int ok 16 - Raku: my % sigil var with Int type is a Hash ok 17 - Raku: my it does Associative[Int] ok 18 - Raku: my .of gives Int ok 19 - Raku: my it is empty ok 20 - Raku: my element is a Scalar ok 21 - Raku: my contains an Int ok 22 - Raku: my constraint is Int # state Int %hash; # %hash ok 23 - deparse ok 24 - AST: state % sigil var with Int type is a Hash ok 25 - AST: state it does Associative[Int] ok 26 - AST: state .of gives Int ok 27 - AST: state it is empty ok 28 - AST: state element is a Scalar ok 29 - AST: state contains an Int ok 30 - AST: state constraint is Int ok 31 - Str: state % sigil var with Int type is a Hash ok 32 - Str: state it does Associative[Int] ok 33 - Str: state .of gives Int ok 34 - Str: state it is empty ok 35 - Str: state element is a Scalar ok 36 - Str: state contains an Int ok 37 - Str: state constraint is Int ok 38 - Raku: state % sigil var with Int type is a Hash ok 39 - Raku: state it does Associative[Int] ok 40 - Raku: state .of gives Int ok 41 - Raku: state it is empty ok 42 - Raku: state element is a Scalar ok 43 - Raku: state contains an Int ok 44 - Raku: state constraint is Int 1..44 ok 25 - % sigil my|state var with Int type is a Hash # Subtest: Can access external native int var # $x ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 26 - Can access external native int var # Subtest: Can access external native num var # $x ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 27 - Can access external native num var # Subtest: Can access external native str var # $x ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 28 - Can access external native str var # Subtest: int declaration creates a native int container # my int $native-int; # $native-int ok 1 - deparse ok 2 - AST: int declaration creates a native int container ok 3 - AST: Native int initialized to 0 by default ok 4 - Str: int declaration creates a native int container ok 5 - Str: Native int initialized to 0 by default ok 6 - Raku: int declaration creates a native int container ok 7 - Raku: Native int initialized to 0 by default 1..7 ok 29 - int declaration creates a native int container # Subtest: num declaration creates a native num container # my num $native-num; # $native-num ok 1 - deparse ok 2 - AST: num declaration creates a native num container ok 3 - AST: Native num initialized to 0e0 by default ok 4 - Str: num declaration creates a native num container ok 5 - Str: Native num initialized to 0e0 by default ok 6 - Raku: num declaration creates a native num container ok 7 - Raku: Native num initialized to 0e0 by default 1..7 ok 30 - num declaration creates a native num container # Subtest: str declaration creates a native str container # my str $native-str; # $native-str ok 1 - deparse ok 2 - AST: str declaration creates a native str container ok 3 - AST: Native str initialized to empty string by default ok 4 - Str: str declaration creates a native str container ok 5 - Str: Native str initialized to empty string by default ok 6 - Raku: str declaration creates a native str container ok 7 - Raku: Native str initialized to empty string by default 1..7 ok 31 - str declaration creates a native str container # Subtest: Native int assign initializer works # my int $native-int = 963; # $native-int ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 32 - Native int assign initializer works # Subtest: Native num assign initializer works # my num $native-num = 96000e0; # $native-num ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 33 - Native num assign initializer works # Subtest: Native str assign initializer works # my str $native-str = "nine six three"; # $native-str ok 1 - deparse ok 2 - AST ok 3 - Str ok 4 - Raku 1..4 ok 34 - Native str assign initializer works # our $var; # $var ok 35 - deparse # Subtest: AST: our-scoped variable declaration without initializer takes current value (eval mode) ok 1 - eval AST ok 2 - Value intact after eval 1..2 ok 36 - AST: our-scoped variable declaration without initializer takes current value (eval mode) # Subtest: Str: our-scoped variable declaration without initializer takes current value (eval mode) ok 1 - eval Str ok 2 - Value intact after eval 1..2 ok 37 - Str: our-scoped variable declaration without initializer takes current value (eval mode) # Subtest: Raku: our-scoped variable declaration without initializer takes current value (eval mode) ok 1 - eval Str ok 2 - Value intact after eval 1..2 ok 38 - Raku: our-scoped variable declaration without initializer takes current value (eval mode) # our $x = 42; # $x ok 39 - deparse # Subtest: our-scoped variable declaration with initializer works (eval mode) ok 1 - ok 2 - ok 3 - 1..3 ok 40 - our-scoped variable declaration with initializer works (eval mode) # our $y = 99; # $y; ok 41 - deparse ok 42 - our-scoped variable declaration with initializer works (top-level mode) ok 43 - our variable set in eval mode is installed into the current package ok 44 - It is a bound scalar not ok 45 - our-scoped variable declaration in top-level comp unit does not leak out # TODO NYI # Failed test 'our-scoped variable declaration in top-level comp unit does not leak out' # at t/12-rakuast/var.rakutest line 1022 # Subtest: A pointy block node with a state variable # -> { # state $foo = 42; # $foo++ # } ok 1 - deparse ok 2 - AST: state variable initialized ok 3 - AST: state variable kept value ok 4 - Str: state variable initialized ok 5 - Str: state variable kept value ok 6 - Raku: state variable initialized ok 7 - Raku: state variable kept value 1..7 ok 46 - A pointy block node with a state variable # Subtest: Term (sigilless) variable declaration # my \foo = 111; # foo ok 1 - deparse ok 2 - AST: sigilless variable initialized with correct value ok 3 - AST: no container produced ok 4 - Str: sigilless variable initialized with correct value ok 5 - Str: no container produced ok 6 - Raku: sigilless variable initialized with correct value ok 7 - Raku: no container produced 1..7 ok 47 - Term (sigilless) variable declaration # Subtest: Lexical constant # constant foo = "bar" ok 1 - deparse ok 2 - AST: did it produce 'bar' ok 3 - AST: was the constant installed ok 4 - Str: did it produce 'bar' ok 5 - Str: was the constant installed ok 6 - Raku: did it produce 'bar' ok 7 - Raku: was the constant installed 1..7 ok 48 - Lexical constant # Subtest: Lexical my constant # my constant foo = "bar" ok 1 - deparse ok 2 - AST: did it produce 'bar' ok 3 - AST: was the constant *not* installed ok 4 - Str: did it produce 'bar' ok 5 - Str: was the constant *not* installed ok 6 - Raku: did it produce 'bar' ok 7 - Raku: was the constant *not* installed 1..7 ok 49 - Lexical my constant # Subtest: Lexical my constant with expression # my constant foo = now ok 1 - deparse ok 2 - AST: did it produce an Instant ok 3 - AST: check that time has passed ok 4 - AST: was the constant *not* installed ok 5 - Str: did it produce an Instant ok 6 - Str: check that time has passed ok 7 - Str: was the constant *not* installed ok 8 - Raku: did it produce an Instant ok 9 - Raku: check that time has passed ok 10 - Raku: was the constant *not* installed 1..10 ok 50 - Lexical my constant with expression # Subtest: Special compiler variable $=pod # $=pod ok 1 - deparse ok 2 - AST: EVAL ok 3 - Str: EVAL ok 4 - Raku: EVAL 1..4 ok 51 - Special compiler variable $=pod # Subtest: Special compiler variable $=finish # $=finish ok 1 - deparse ok 2 - AST: EVAL ok 3 - Str: EVAL ok 4 - Raku: EVAL 1..4 ok 52 - Special compiler variable $=finish # Subtest: variable with a trait # my $a is default(42) ok 1 - deparse ok 2 - AST: EVAL ok 3 - Str: EVAL ok 4 - Raku: EVAL 1..4 ok 53 - variable with a trait # Subtest: scalar variable with a where guard (passing initializer) # my $f where 5 = 5 ok 1 - deparse ok 2 - AST: EVAL ok 3 - Str: EVAL ok 4 - Raku: EVAL 1..4 ok 54 - scalar variable with a where guard (passing initializer) # Subtest: scalar variable with a where guard (failing initializer) # my $f where 5 = 6 ok 1 - deparse # Subtest: AST: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 2 - AST: EVAL # Subtest: Str: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - Str: EVAL # Subtest: Raku: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 4 - Raku: EVAL 1..4 ok 55 - scalar variable with a where guard (failing initializer) # Subtest: array variable with a where guard (passing initializer) # my @h where 5 = 5; # @h[0] ok 1 - deparse ok 2 - AST: EVAL ok 3 - Str: EVAL ok 4 - Raku: EVAL 1..4 ok 56 - array variable with a where guard (passing initializer) # Subtest: array variable with a where guard (failing initializer) # my @h where 5 = 6 ok 1 - deparse # Subtest: AST: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 2 - AST: EVAL # Subtest: Str: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - Str: EVAL # Subtest: Raku: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 4 - Raku: EVAL 1..4 ok 57 - array variable with a where guard (failing initializer) # Subtest: hash variable with a where guard (passing initializer) # my %h where 5 = :5s; # %h ok 1 - deparse ok 2 - AST: EVAL ok 3 - Str: EVAL ok 4 - Raku: EVAL 1..4 ok 58 - hash variable with a where guard (passing initializer) # Subtest: hash variable with a where guard (failing initializer) # my %h where 5 = :6s ok 1 - deparse # Subtest: AST: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 2 - AST: EVAL # Subtest: Str: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 3 - Str: EVAL # Subtest: Raku: EVAL 1..2 ok 1 - code dies ok 2 - right exception type (X::TypeCheck::Assignment) ok 4 - Raku: EVAL 1..4 ok 59 - hash variable with a where guard (failing initializer) ok t/02-rakudo/reproducible-builds.t ............................... ok 1 - Both precompilation runs resulted in the same checksum 1..1 ok t/02-rakudo/15-gh_1202.t ........................................ 1..2 ok 1 - shell output ok 2 - all runs completed ok t/02-rakudo/repl.t .............................................. 1..49 # Subtest: sanity check; load without tweaking line editor 1..3 ok 1 - result of code is on STDOUT ok 2 - no STDERR output ok 3 - successful exit code ok 1 - sanity check; load without tweaking line editor # Subtest: can use native typed variable on subsequent lines (1) 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 2 - can use native typed variable on subsequent lines (1) # Subtest: indented code parses correctly 1..4 # Subtest: uncuddled else is parsed correctly 1..2 not ok 1 - stdout is correct # TODO indent styles don't parse right # Failed test 'stdout is correct' # at t/02-rakudo/repl.t line 42 # expected: ':) # ' # got: '[1] > * * ===SORRY!=== Error while compiling: # Undeclared routine: # else used at line 1 # # ' ok 2 - stderr is correct not ok 1 - uncuddled else is parsed correctly # TODO indent styles don't parse right # Failed test 'uncuddled else is parsed correctly' # at t/02-rakudo/repl.t line 42 # Subtest: open brace on next line is parsed correctly 1..2 not ok 1 - stdout is correct # TODO indent styles don't parse right # Failed test 'stdout is correct' # at t/02-rakudo/repl.t line 52 # expected: ':) # ' # got: '[1] > ===SORRY!=== Error while compiling: # Undeclared routine: # else used at line 1 # # :) # ' ok 2 - stderr is correct not ok 2 - open brace on next line is parsed correctly # TODO indent styles don't parse right # Failed test 'open brace on next line is parsed correctly' # at t/02-rakudo/repl.t line 52 # Subtest: partially-cuddled else is parsed correctly 1..2 not ok 1 - stdout is correct # TODO indent styles don't parse right # Failed test 'stdout is correct' # at t/02-rakudo/repl.t line 64 # expected: ':) # ' # got: '[1] > ===SORRY!=== Error while compiling: # Undeclared routine: # else used at line 1 # # ' ok 2 - stderr is correct not ok 3 - partially-cuddled else is parsed correctly # TODO indent styles don't parse right # Failed test 'partially-cuddled else is parsed correctly' # at t/02-rakudo/repl.t line 64 # Subtest: cuddled else 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 4 - cuddled else ok 3 - indented code parses correctly # Subtest: multi-line sub decl 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 4 - multi-line sub decl # Subtest: single-line sub declaration works 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 5 - single-line sub declaration works # Subtest: assignment maintains values on subsequent lines 1..4 # Subtest: Scalar 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 1 - Scalar # Subtest: Array 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 2 - Array # Subtest: Hash 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 3 - Hash # Subtest: sigilless value 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 4 - sigilless value ok 6 - assignment maintains values on subsequent lines ok 7 - # SKIP Different result on OSX # Subtest: an empty string gives back one blank line 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 8 - an empty string gives back one blank line # Subtest: syntax error gives a compile-time error 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 9 - syntax error gives a compile-time error # Subtest: syntax error clears on further input 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 10 - syntax error clears on further input # Subtest: undeclared routines give compile time errors 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 11 - undeclared routines give compile time errors # Subtest: undeclared routines inside another routine give compile time errors 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 12 - undeclared routines inside another routine give compile time errors # Subtest: run-time error error gives the expected error 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 13 - run-time error error gives the expected error # Subtest: raises error when you run control flow command 'return' in top level 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 14 - raises error when you run control flow command 'return' in top level # Subtest: raises error when you run control flow command 'redo' in top level 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 15 - raises error when you run control flow command 'redo' in top level # Subtest: raises error when you run control flow command 'next' in top level 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 16 - raises error when you run control flow command 'next' in top level # Subtest: raises error when you run control flow command 'last' in top level 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 17 - raises error when you run control flow command 'last' in top level # Subtest: raises error when you run control flow command 'proceed' in top level 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 18 - raises error when you run control flow command 'proceed' in top level # Subtest: raises error when you run control flow command 'succeed' in top level 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 19 - raises error when you run control flow command 'succeed' in top level # Subtest: `emit` errors usefully 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 20 - `emit` errors usefully # Subtest: `take` errors usefully 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 21 - `take` errors usefully # Subtest: warn() shows warnings 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 22 - warn() shows warnings # Subtest: previous output does not silence exceptions 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 23 - previous output does not silence exceptions # Subtest: previous output prevents output of handled failures 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 24 - previous output prevents output of handled failures # Subtest: previous output prevents output of unthrown exceptions 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 25 - previous output prevents output of unthrown exceptions # Subtest: previous output does not prevent output of unthrown exceptions 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 26 - previous output does not prevent output of unthrown exceptions # Subtest: can't trick REPL into thinking an exception was thrown 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 27 - can't trick REPL into thinking an exception was thrown # Subtest: REPL outputs Nil as a Nil 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 28 - REPL outputs Nil as a Nil ok 29 - # SKIP Result differs on OSX # Subtest: prefix 0 on invalid octal warns in REPL 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 30 - prefix 0 on invalid octal warns in REPL # Subtest: prefix 0 on valid octal warns in REPL 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 31 - prefix 0 on valid octal warns in REPL ok 32 - # SKIP Result differs on OSX # Subtest: exceptions from lazy-evaluated things do not crash REPL 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 33 - exceptions from lazy-evaluated things do not crash REPL # Subtest: Using native numeric types does not break REPL 1..2 not ok 1 - stdout is correct # TODO https://github.com/rakudo/rakudo/issues/4161 # Failed test 'stdout is correct' # at t/02-rakudo/repl.t line 229 # expected a match with: /'(1 2 3 4 5 6 7 8 9 10)' .* 'test is good'/ # got: "(1 2 3 4 5 6 7 8 9 10)\nUnhandled lexical type 'num32' in lexprimspec\n in any
at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/rakudo.moarvm line 1\n in any at /home/buildozer/aports/community/rakudo/src/rakudo-2026.08/rakudo.moarvm line 1\n\n" ok 2 - stderr is correct not ok 34 - Using native numeric types does not break REPL # TODO https://github.com/rakudo/rakudo/issues/4161 # Failed test 'Using native numeric types does not break REPL' # at t/02-rakudo/repl.t line 229 # Subtest: REPL with -M with non-existent module does not start 1..3 ok 1 - program did not hang ok 2 - STDOUT ok 3 - STDERR ok 35 - REPL with -M with non-existent module does not start # Subtest: variables persist across multiple lines of input 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 36 - variables persist across multiple lines of input # Subtest: REPL does neither crash nor report True and False for junction 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 37 - REPL does neither crash nor report True and False for junction # Subtest: previously-entered code must not be re-run on every line of input 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 38 - previously-entered code must not be re-run on every line of input # Subtest: no bizzare types returned from redeclared "returns an `of` Array" sub 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 39 - no bizzare types returned from redeclared "returns an `of` Array" sub # Subtest: loop controls do not exit the REPL 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 40 - loop controls do not exit the REPL # Subtest: REPL can handle `Mu` as line's return value 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 41 - REPL can handle `Mu` as line's return value # Subtest: REPL does not explode with none Junction return values 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 42 - REPL does not explode with none Junction return values # Subtest: REPL detects incomplete regex (no NullPointerException) 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 43 - REPL detects incomplete regex (no NullPointerException) # Subtest: no complaints about .message 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 44 - no complaints about .message # Subtest: no sticky $0 values across lines 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 45 - no sticky $0 values across lines # Subtest: REPL can auto-print non-Mu things that lack .WHERE and .gist 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 46 - REPL can auto-print non-Mu things that lack .WHERE and .gist # Subtest: no complaints about failed writing to filehandle when opening a file 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 47 - no complaints about failed writing to filehandle when opening a file # Subtest: check with additional CLI arguments 1..3 ok 1 - got the command line arguments ok 2 - no STDERR output ok 3 - successful exit code ok 48 - check with additional CLI arguments # Subtest: check that trying to run a REPL that expects a TTY fails without a TTY 1..2 ok 1 - Cannot start a REPL that wants a TTY without a TTY ok 2 - Exit code (1) reflects expected failure ok 49 - check that trying to run a REPL that expects a TTY fails without a TTY ok t/12-rakuast/xx-fixed-in-rakuast.rakutest ....................... 1..144 ok 1 - .say works with chained sequence and for # Subtest: trace pragma works with hash shapes 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 2 - trace pragma works with hash shapes ok 3 - phasers do not fire for loop that did not run ok 4 - multiple m// works correctly ok 5 - *.uc and *.lc are not considered equivalent ok 6 - *.uc and *.uc are considered equivalent ok 7 - equivalence is still correct for more complicated WhateverCodes ok 8 - the :initialize flag is not sent to Set.STORE ok 9 - Pointy blocks are parameterized with return types ok 10 - Pointy blocks can be assigned to a parameterized Callable container ok 11 - creating a constant without a name dies ok 12 - wrapping infix:<|> works ok 13 - wrapping postfix:<++> works under soft ok 14 - Colonpairs with indirect-lookup as variables work ok 15 - Colonpairs with indirect-lookup as variables work (complex) ok 16 - no error messages from code params to regexes (<.&a>) ok 17 - no error messages from code params to regexes (<&a>) ok 18 - eager on parenthesized range works without issue ok 19 - Parametarization with DefiniteHOWs is not ignored in binding ok 20 - Parametarization with DefiniteHOWs works where it should ok 21 - Parameterization with DefiniteHOWs is propagated to scalar container # Subtest: Ambiguous adverb usage results in coherent exception 1..2 ok 1 - code dies ok 2 - right exception type (X::Syntax::AmbiguousAdverb) ok 22 - Ambiguous adverb usage results in coherent exception ok 23 - unsigned native parameters wrap around when provided with negative numbers # Subtest: No useless use of sink reporting for [[&say]] 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 24 - No useless use of sink reporting for [[&say]] # Subtest: No useless use of sink reporting for R[&say] 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 25 - No useless use of sink reporting for R[&say] # Subtest: No useless use of sink reporting for user-declared function 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 26 - No useless use of sink reporting for user-declared function # Subtest: '-n' compiler option iterates once per newline of input 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 27 - '-n' compiler option iterates once per newline of input # Subtest: '-p' compiler option iterates once per newline of input and the topic is writeable 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 28 - '-p' compiler option iterates once per newline of input and the topic is writeable # Subtest: topic variable is successfully lowered while using '-n' 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 29 - topic variable is successfully lowered while using '-n' ok 30 - andthen chaining does not disrupt WhateverCode construction # Subtest: repl can successfully use and instantiate a class ('Depth') that is shadowed and surpassed by an earlier used class ('Depth::One') 1..2 ok 1 - stdout is correct ok 2 - stderr is correct ok 31 - repl can successfully use and instantiate a class ('Depth') that is shadowed and surpassed by an earlier used class ('Depth::One') # TODO Fails in legacy grammar # Subtest: no worry of a useless 'useless use' for parenthesized prime expression in where clause 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 32 - no worry of a useless 'useless use' for parenthesized prime expression in where clause not ok 33 - stubbed classes that belong to parent package cause no issues when stubbed and defined within parent package scope # TODO Fails in legacy grammar # Failed test 'stubbed classes that belong to parent package cause no issues when stubbed and defined within parent package scope' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 222 # The following packages were stubbed but not defined: # A::B ok 34 - using the topic inside a 'with' and an embedded code block in a qq string ok 35 - did the code do the right thing not ok 36 - can have constraint on "our" variable # TODO compilation error in legacy grammar # Failed test 'can have constraint on "our" variable' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 237 # expected: 'foo' # got: (Nil) not ok 37 - handled X/= correctly # TODO handling of X/= when sunk # Failed test 'handled X/= correctly' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 248 # expected: $[[1.0, 2.0, 3.0], [1.0, 3.0, 5.0], [1.0, 4.0, 7.0]] # got: $[[1, 2, 3], [2, 6, 10], [3, 12, 21]] ok 38 - dispatch went correctly not ok 39 - did R[||]= work # TODO R[||]= doesn't compile # Failed test 'did R[||]= work' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 265 # expected: '42' # got: (Any) not ok 40 - did R[&&]= work # TODO R[&&]= doesn't compile # Failed test 'did R[&&]= work' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 270 # expected: '666' # got: (Any) not ok 41 - did R[//]= work # TODO R[//]= doesn't compile # Failed test 'did R[//]= work' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 275 # expected: '137' # got: (Any) not ok 42 - signature smartmatch ok # TODO signature smartmatch doesn't compile # Failed test 'signature smartmatch ok' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 281 # expected: Bool::False # got: Nil not ok 43 - did the object get built # TODO doesn't compile # Failed test 'did the object get built' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 296 # expected: 1 # got: Any not ok 44 - is Set on dynvar works # TODO dies # Failed test 'is Set on dynvar works' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 303 # expected: Set.new("b","c","a") # got: Set # Subtest: use of &?ROUTINE and &?BLOCK 1..14 ok 1 - sub for-sub is ok ok 2 - block inside for-sub is different ok 3 - sub do-sub is ok ok 4 - block inside do-sub is different ok 5 - sub given-sub is ok ok 6 - block inside given-sub is different ok 7 - sub if-sub is ok ok 8 - block inside if-sub is different ok 9 - sub when-sub is ok ok 10 - block inside when-sub is different ok 11 - sub loop-sub is ok ok 12 - block inside loop-sub is different ok 13 - sub while-sub is ok ok 14 - block inside while-sub is different ok 45 - use of &?ROUTINE and &?BLOCK not ok 46 - did post increment int8 return correct value # TODO incorrect value for int8 # Failed test 'did post increment int8 return correct value' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 361 # expected: '127' # got: '-129' ok 47 - did int8 get correct value not ok 48 - did post increment int16 return correct value # TODO incorrect value for int16 # Failed test 'did post increment int16 return correct value' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 365 # expected: '32767' # got: '-32769' ok 49 - did int16 get correct value ok 50 - is the value being bound returned # TODO dies ok 51 - did the value get bound # TODO dies not ok 52 - did the trait get run # TODO dies # Failed test 'did the trait get run' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 391 # expected: Bool::True # got: Any not ok 53 - loop completed successfully # TODO dies # Failed test 'loop completed successfully' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 401 # expected: '7' # got: '0' not ok 54 - did LAST run # TODO dies # Failed test 'did LAST run' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 402 # expected: Bool::True # got: Any Non ast passed to WANTED: NQPMu not ok 55 - was the syntax valid and did it fire # TODO dies # Failed test 'was the syntax valid and did it fire' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 410 # expected: Bool::True # got: Any not ok 56 - Routine name properly codegenned # TODO name is missing # Failed test 'Routine name properly codegenned' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 419 # expected: ${:foobar(${:foo("bar")})} # got: ${:foobar(${"" => "bar"})} not ok 57 - got a random value with state # TODO returned value is Any # Failed test 'got a random value with state' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 427 Use of uninitialized value @a of type Any in numeric context in block at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 428 Use of uninitialized value @a of type Any in numeric context in block at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 428 Use of uninitialized value @a of type Any in numeric context in block at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 428 Use of uninitialized value @a of type Any in numeric context in block at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 428 Use of uninitialized value @a of type Any in numeric context in block at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 428 Use of uninitialized value @a of type Any in numeric context in block at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 428 Use of uninitialized value @a of type Any in numeric context in block at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 428 Use of uninitialized value @a of type Any in numeric context in block at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 428 ok 58 - all values the same with state not ok 59 - got a random value with once # TODO returned value is VMNull # Failed test 'got a random value with once' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 432 not ok 60 - all values the same with once # TODO returned value is VMNull # Failed test 'all values the same with once' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 433 # expected: Bool::True # got: Nil not ok 61 - LAST can see the state variable # TODO state variable appears undefined # Failed test 'LAST can see the state variable' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 449 # expected: Bool::True # got: Bool::False not ok 62 - can have a signature as a default for an attribute # TODO dispatch error # Failed test 'can have a signature as a default for an attribute' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 455 # expected: :() # got: Nil not ok 63 - uint ok # TODO becomes signed # Failed test 'uint ok' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 470 # expected: '18446744073709551615' # got: '-1' not ok 64 - uint64 ok # TODO becomes signed # Failed test 'uint64 ok' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 471 # expected: '18446744073709551615' # got: '-1' not ok 65 - did the code run and handle the exception # TODO doesn't compile # Failed test 'did the code run and handle the exception' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 486 # expected: '1' # got: '0' not ok 66 - role body only ran once # TODO runs 0 times or 2 times # Failed test 'role body only ran once' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 495 # expected: '1' # got: '0' not ok 67 - was the variable not stale # TODO optimizer stales variable # Failed test 'was the variable not stale' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 504 # expected: '11111111112222222222333333333344444444445555555555' # got: '11111111111111111111111111111111111111111111111111' ok 68 - no worries Regex object coerced to string (please use .gist or .raku to do that) in any metachar at /usr/share/nqp/lib/NQPP6QRegex.moarvm line 1 not ok 69 - regex interpolated ok # TODO doesn't interpolate correctly # Failed test 'regex interpolated ok' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 514 # expected: '「foo」' # got: '「」' not ok 70 - Do we always get the first value # TODO doesn't return correctly # Failed test 'Do we always get the first value' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 522 # expected: 42 # got: Nil not ok 71 - Do we always get the first value # TODO doesn't return correctly # Failed test 'Do we always get the first value' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 522 # expected: 42 # got: Nil not ok 72 - Do we always get the first value # TODO doesn't return correctly # Failed test 'Do we always get the first value' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 522 # expected: 42 # got: Nil ok 73 - Int:D candidate selected # TODO selects the wrong candidate ok 74 - Int:D candidate selected ok 75 - foo ok 76 - Rfoo ok 77 - bar not ok 78 - Rbar # TODO gets associativity wrong # Failed test 'Rbar' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 547 # expected: "(4,(3,(2,1)))" # got: "(((4,3),2),1)" ok 79 - :foo test 1 ok 80 - :foo test 2 ok 81 - :foo test 3 ok 82 - :foo test 4 not ok 83 - can have andthen as part of an elseif # TODO does not compile # Failed test 'can have andthen as part of an elseif' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 566 # Cannot find method 'blocktype' on object of type QAST::Op ok 84 - can access attribute ok 85 - can add to the attribute # TODO throws error ok 86 - attribute got incremented # TODO did not get updated not ok 87 - dispatch worked ok # TODO dispatch error # Failed test 'dispatch worked ok' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 592 # expected: 'yes' # got: (Nil) ok 88 - no output not ok 89 - error message is about usage # TODO execution error # Failed test 'error message is about usage' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 601 not ok 90 - val processing kept # TODO no val processing # Failed test 'val processing kept' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 607 # expected: IntStr.new(42, "42\n") # got: "42\n" not ok 91 - should not crash with typecheck error # TODO crashes # Failed test 'should not crash with typecheck error' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 623 not ok 92 - native integers do not require an initializer with variables:D # TODO compilation error # Failed test 'native integers do not require an initializer with variables:D' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 630 # Variable definition of type int:D (implicit :D by pragma) needs to be given an initializer not ok 93 - native integers can be initialized with variables:D # TODO typecheck error # Failed test 'native integers can be initialized with variables:D' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 633 # Type check failed in assignment to $a; expected int:D but got Int (42) not ok 94 - auto generated Callable ok # TODO does not compile # Failed test 'auto generated Callable ok' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 640 # Actual type: Nil not ok 95 - exits loop as expected # TODO throws execution error # Failed test 'exits loop as expected' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 647 # No such method 'eager' for invocant of type 'VMNull' not ok 96 - name is ok # TODO name empty # Failed test 'name is ok' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 652 # expected: 'z' # got: '' # Subtest: throws an illegal decimal error 1..2 ok 1 - code dies not ok 2 - right exception type (X::Syntax::Number::IllegalDecimal) # TODO throws wrong error # Failed test 'right exception type (X::Syntax::Number::IllegalDecimal)' # at NQP::src/HLL/Compiler.nqp line 534 # Expected: X::Syntax::Number::IllegalDecimal # Got: X::AdHoc # Exception message: Cannot stringify object of type QAST::Want not ok 97 - throws an illegal decimal error # TODO throws wrong error # Failed test 'throws an illegal decimal error' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 660 not ok 98 - interpolation of non-existing @!x # TODO throws compilation error # Failed test 'interpolation of non-existing @!x' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 681 # expected: "\@.x" # got: Nil ok 99 - was $_ set to 0 not ok 100 - Submethods can access attributes # TODO Having a submethod that accesses an attribute dies, even if never called # Failed test 'Submethods can access attributes' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 695 # Error: Virtual method call $.a may not be used on partially constructed object (maybe you mean $!a for direct attribute access here?) not ok 101 - no special quasting for infix:<,>(1) # TODO improper QASTing of infix:<,>(42) to just 42 # Failed test 'no special quasting for infix:<,>(1)' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 710 # expected: "(42,)\n" # got: "42\n" ok 102 - postfix hyper primes properly # TODO ensure that hyper operators prime as expected ok 103 - BEGIN-time EVAL of a parsed RakuAST sub produces a Sub ok 104 - BEGIN-time EVAL of an empty RakuAST statement list lives ok 105 - BEGIN-time EVAL of a RakuAST sub can resolve setting routines and run # Subtest: synthetic RakuAST::Sub calling a setting routine runs at runtime 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 106 - synthetic RakuAST::Sub calling a setting routine runs at runtime # Subtest: precompiling a module returning a synthetic RakuAST Sub from BEGIN works 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 107 - precompiling a module returning a synthetic RakuAST Sub from BEGIN works # Subtest: .assuming in a precompiled module loaded via another module works 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 108 - .assuming in a precompiled module loaded via another module works ok 109 - invoking a Sub returned from BEGIN-time string EVAL works ok 110 - BEGIN-time string-EVAL Sub with setting operator runs ok 111 - a once in a LEAVE body fires once across calls of one clone ok 112 - a once in an UNDO body fires once across calls of one clone ok 113 - each clone of a routine runs its ENTER once independently not ok 114 - a native argument to a multi where no candidate is rw is a snapshot # TODO undecided multi leaks the native reference in legacy grammar # Failed test 'a native argument to a multi where no candidate is rw is a snapshot' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 842 # expected: '5' # got: '8' not ok 115 - a native argument following a named argument is a snapshot # TODO mixed named and positional args leak the native reference in legacy grammar # Failed test 'a native argument following a named argument is a snapshot' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 852 # expected: '5' # got: '8' ok 116 - require loads a module through a satisfiable :ver constraint ok 117 - require loads a module with a bare boolean adverb ok 118 - a require with an adverb used as a block value returns the module ok 119 - a require with an adverb still imports the requested symbol not ok 120 - require fails on an unsatisfiable :ver constraint # TODO the legacy grammar ignores an unsatisfiable :ver on require # Failed test 'require fails on an unsatisfiable :ver constraint' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 885 not ok 121 - require fails on an unsatisfiable :auth constraint # TODO the legacy grammar ignores an unsatisfiable :auth on require # Failed test 'require fails on an unsatisfiable :auth constraint' # at t/12-rakuast/xx-fixed-in-rakuast.rakutest line 888 # Subtest: :dba names the regex region and FAILGOAL receives it 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 122 - :dba names the regex region and FAILGOAL receives it ok 123 - S applies the base operator ok 124 - chained S keeps the base associativity ok 125 - a sequenced operator can be reduced ok 126 - a custom postcircumfix parses a semicolon separated subscript ok 127 - a custom postcircumfix parses an empty subscript ok 128 - a custom postcircumfix passes the operand as the first argument ok 129 - a plain signature literal inside a WhateverCode links its code ok 130 - a where-constrained signature literal inside a WhateverCode links its code # Subtest: the last statement of a CATCH default block also warns as useless 1..3 ok 1 - STDOUT ok 2 - STDERR ok 3 - Exit code ok 131 - the last statement of a CATCH default block also warns as useless ok 132 - a for loop over a sized native array writes back through <-> ok 133 - an is rw trait inside a has declaration list gives a writable accessor ok 134 - an is default trait inside a declaration list reaches the variable # Subtest: an unknown trait inside a declaration list is rejected 1..3 ok 1 - code dies ok 2 - right exception type (Exception) ok 3 - .message matches /'nonesuch'/ ok 135 - an unknown trait inside a declaration list is rejected ok 136 - a BEGIN-built method steps a later declared int attribute ok 137 - a BEGIN-built method assigns a later declared int attribute ok 138 - a BEGIN-built method compound assigns a later declared num attribute ok 139 - a BEGIN-built method concatenates onto a later declared str attribute ok 140 - a BEGIN-built method stores a high uint8 value without sign extension ok 141 - a BEGIN-built method stores a high uint32 value without sign extension ok 142 - a constant return value is returned from a call ok 143 - a constant return value parameterizes Callable with its type ok 144 - subs with different constant return values share their Callable mixin type ok t/06-telemetry/01-basic.t ....................................... 1..42 ok 1 - did we get a Telemetry object from T ok 2 - did we get a non-zero value for wallclock using AT-KEY ok 3 - did we get a non-zero value for wallclock with a method ok 4 - did we get a non-zero value for cpu using AT-KEY ok 5 - did we get a non-zero value for cpu with a method ok 6 - did we get a non-zero value for max-rss using AT-KEY ok 7 - did we get a non-zero value for max-rss with a method ok 8 - did we get a Telemetry object from T.raku.EVAL ok 9 - did wallclock roundtrip ok in Telemetry? ok 10 - did cpu roundtrip ok in Telemetry? ok 11 - did max-rss roundtrip ok in Telemetry? ok 12 - Did we get a Telemetry::Period ok 13 - did we get a non-zero value for wallclock using AT-KEY ok 14 - did we get a non-zero value for wallclock using AT-KEY ok 15 - did we get a non-zero value for cpu using AT-KEY ok 16 - did we get a non-zero value for cpu using AT-KEY ok 17 - did we get a Telemetry::Period object from period.raku.EVAL ok 18 - did wallclock roundtrip ok in Telemetry::Period? ok 19 - did cpu roundtrip ok in Telemetry::Period? ok 20 - did max-rss roundtrip ok in Telemetry::Period? ok 21 - did it contain a Sampler ok 22 - there are 2 default default instruments ok 23 - did we get a Telemetry::Instrument::Usage ok 24 - did we get a Telemetry::Instrument::ThreadPool ok 25 - was &snap exported ok 26 - was &snapper exported ok 27 - was &periods exported ok 28 - was &report exported ok 29 - was &safe-ctrl-c exported ok 30 - was &T exported ok 31 - did the snap return nothing ok 32 - did periods auto-add an extra snap? ok 33 - is it a Telemetry::Period ok 34 - Did the call to periods remove all of the snaps? ok 35 - did the snapper return nothing ok 36 - did the snapper start taking snaps ok 37 - did the snapper actually stop ok 38 - did the snapper start taking snaps ok 39 - did we only get the header of the report ok 40 - line 1 of report ok 41 - line 2 of report ok 42 - # SKIP Memory allocation failures on 32-bit architectures ok All tests successful. Test Summary Report ------------------- t/08-performance/22-rakuast-copy-returns.t (Wstat: 0 Tests: 9 Failed: 0) TODO passed: 1-2, 9 t/09-moar/Line_Break__LineBreak.t (Wstat: 0 Tests: 2 Failed: 0) TODO passed: 1-2 t/12-rakuast/xx-fixed-in-rakuast.rakutest (Wstat: 0 Tests: 144 Failed: 0) TODO passed: 31, 50-51, 73, 85-86, 102 Files=427, Tests=5429, 68 wallclock secs ( 2.15 usr 0.94 sys + 1014.48 cusr 68.81 csys = 1086.38 CPU) Result: PASS >>> rakudo: Entering fakeroot... +++ Creating installation directories +++ Preparing installation +++ Removing old files +++ Installing files Installed 24 core modules in 26.503705121 seconds! +++ MOAR BACKEND INSTALLED +++ Installing MOAR launchers +++ Creating Raku executable alias +++ Rakudo installed successfully! '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/perl6' -> 'rakudo' created directory: '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/' created directory: '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo' 'CONTRIBUTING.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/CONTRIBUTING.md' 'CREDITS' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/CREDITS' 'LICENSE' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/LICENSE' 'README.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/README.md' 'VERSION' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/VERSION' 'docs/deprecations' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/deprecations' 'docs/module_management.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/module_management.md' 'docs/running.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/running.pod' 'docs/architecture.svg' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/architecture.svg' 'docs/declarator_block_expectations.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/declarator_block_expectations.raku' 'docs/val.pod6' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/val.pod6' 'docs/announce/2025.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.02.md' 'docs/announce/2025.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.04.md' 'docs/announce/2014.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.07.md' 'docs/announce/2016.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.12.md' 'docs/announce/2011.01' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.01' 'docs/announce/2010.07' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.07' 'docs/announce/2021.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.08.md' 'docs/announce/2013.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.10.md' 'docs/announce/2015.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.09.md' 'docs/announce/2013.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.06.md' 'docs/announce/2013.02' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.02' 'docs/announce/2024.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.05.md' 'docs/announce/2018.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.08.md' 'docs/announce/2015.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.07.md' 'docs/announce/2017.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.03.md' 'docs/announce/2018.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.04.md' 'docs/announce/2016.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.04.md' 'docs/announce/2024.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.02.md' 'docs/announce/2014.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.11.md' 'docs/announce/2026.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2026.04.md' 'docs/announce/2021.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.02.md' 'docs/announce/2014.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.04.md' 'docs/announce/2011.06' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.06' 'docs/announce/2017.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.08.md' 'docs/announce/2025.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.05.md' 'docs/announce/2026.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2026.01.md' 'docs/announce/2016.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.11.md' 'docs/announce/2025.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.06.md' 'docs/announce/2009-03' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-03' 'docs/announce/2012.08' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.08' 'docs/announce/2009-02' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-02' 'docs/announce/2016.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.08.md' 'docs/announce/2022.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2022.07.md' 'docs/announce/2024.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.09.md' 'docs/announce/2022.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2022.04.md' 'docs/announce/2017.04.3.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.04.3.md' 'docs/announce/2009-05' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-05' 'docs/announce/2011.09' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.09' 'docs/announce/2018.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.06.md' 'docs/announce/2010.09' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.09' 'docs/announce/2012.09' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.09' 'docs/announce/2017.04.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.04.1.md' 'docs/announce/2023.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.11.md' 'docs/announce/2011.10' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.10' 'docs/announce/2016.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.01.md' 'docs/announce/2009-12' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-12' 'docs/announce/2012.11' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.11' 'docs/announce/2018.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.02.md' 'docs/announce/2015.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.08.md' 'docs/announce/2026.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2026.07.md' 'docs/announce/2022.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2022.02.md' 'docs/announce/2013.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.11.md' 'docs/announce/2017.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.09.md' 'docs/announce/2011.07' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.07' 'docs/announce/2024.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.08.md' 'docs/announce/2025.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.12.md' 'docs/announce/2009-10' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-10' 'docs/announce/2013.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.12.md' 'docs/announce/2023.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.06.md' 'docs/announce/2014.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.06.md' 'docs/announce/2019.03.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2019.03.1.md' 'docs/announce/2021.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.09.md' 'docs/announce/2026.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2026.08.md' 'docs/announce/2015.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.06.md' 'docs/announce/2020.05.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.05.1.md' 'docs/announce/2023.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.05.md' 'docs/announce/2015.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.05.md' 'docs/announce/2018.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.12.md' 'docs/announce/2018.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.11.md' 'docs/announce/2012.03' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.03' 'docs/announce/2022.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2022.12.md' 'docs/announce/2016.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.05.md' 'docs/announce/2020.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.08.md' 'docs/announce/2017.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.04.md' 'docs/announce/2020.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.10.md' 'docs/announce/2017.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.06.md' 'docs/announce/2011.03' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.03' 'docs/announce/2014.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.03.md' 'docs/announce/2013.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.04.md' 'docs/announce/2009-07' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-07' 'docs/announce/2025.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.01.md' 'docs/announce/2010-01' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010-01' 'docs/announce/2015.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.01.md' 'docs/announce/2020.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.02.md' 'docs/announce/2012.04' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.04' 'docs/announce/2020.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.11.md' 'docs/announce/2009-06' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-06' 'docs/announce/2014.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.10.md' 'docs/announce/2023.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.09.md' 'docs/announce/2017.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.07.md' 'docs/announce/2013.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.05.md' 'docs/announce/2016.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.10.md' 'docs/announce/2020.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.05.md' 'docs/announce/2016.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.07.md' 'docs/announce/2012.04.1' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.04.1' 'docs/announce/2011.04' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.04' 'docs/announce/2016.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.09.md' 'docs/announce/2023.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.08.md' 'docs/announce/2013.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.03.md' 'docs/announce/2021.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.03.md' 'docs/announce/2013.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.09.md' 'docs/announce/2020.08.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.08.1.md' 'docs/announce/2010.04' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.04' 'docs/announce/2018.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.09.md' 'docs/announce/2017.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.12.md' 'docs/announce/2014.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.02.md' 'docs/announce/2017.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.02.md' 'docs/announce/2010.10' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.10' 'docs/announce/2023.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.10.md' 'docs/announce/2010.06' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.06' 'docs/announce/2020.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.09.md' 'docs/announce/2026.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2026.02.md' 'docs/announce/2010.02' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.02' 'docs/announce/2018.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.05.md' 'docs/announce/2018.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.10.md' 'docs/announce/2020.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.01.md' 'docs/announce/2017.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.11.md' 'docs/announce/2011.05' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.05' 'docs/announce/2011.11' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.11' 'docs/announce/2021.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.12.md' 'docs/announce/2018.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.01.md' 'docs/announce/2025.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.10.md' 'docs/announce/2015.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.10.md' 'docs/announce/2012.06' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.06' 'docs/announce/2010.03' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.03' 'docs/announce/2011.12' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.12' 'docs/announce/2015.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.12.md' 'docs/announce/2012.01' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.01' 'docs/announce/2021.02.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.02.1.md' 'docs/announce/2023.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.04.md' 'docs/announce/2009-04' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-04' 'docs/announce/2010.08' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.08' 'docs/announce/2020.08.2.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.08.2.md' 'docs/announce/2019.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2019.11.md' 'docs/announce/2016.07.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.07.1.md' 'docs/announce/2012.05' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.05' 'docs/announce/2024.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.10.md' 'docs/announce/2012.02' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.02' 'docs/announce/2024.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.01.md' 'docs/announce/2009-08' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-08' 'docs/announce/2021.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.07.md' 'docs/announce/2009-11' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-11' 'docs/announce/2019.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2019.03.md' 'docs/announce/2017.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.05.md' 'docs/announce/2024.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.07.md' 'docs/announce/2013.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.08.md' 'docs/announce/2014.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.05.md' 'docs/announce/2021.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.10.md' 'docs/announce/2017.10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.10.md' 'docs/announce/2017.04.2.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.04.2.md' 'docs/announce/2022.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2022.06.md' 'docs/announce/2023.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.12.md' 'docs/announce/2024.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.12.md' 'docs/announce/2023.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2023.02.md' 'docs/announce/2010.05' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.05' 'docs/announce/2021.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.04.md' 'docs/announce/2012.07' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.07' 'docs/announce/2025.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.03.md' 'docs/announce/2026.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2026.06.md' 'docs/announce/2013.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.07.md' 'docs/announce/2025.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.11.md' 'docs/announce/2011.02' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2011.02' 'docs/announce/2009-09' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2009-09' 'docs/announce/2022.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2022.03.md' 'docs/announce/2014.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.08.md' 'docs/announce/2021.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.06.md' 'docs/announce/2010.12' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.12' 'docs/announce/2017.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2017.01.md' 'docs/announce/2015.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.04.md' 'docs/announce/2020.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.12.md' 'docs/announce/2026.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2026.05.md' 'docs/announce/2014.12.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.12.md' 'docs/announce/2018.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.03.md' 'docs/announce/2020.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.06.md' 'docs/announce/2016.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.02.md' 'docs/announce/2018.02.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.02.1.md' 'docs/announce/2020.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.07.md' 'docs/announce/2025.06.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.06.1.md' 'docs/announce/2025.08.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2025.08.md' 'docs/announce/2014.01.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.01.md' 'docs/announce/2015.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.03.md' 'docs/announce/2026.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2026.03.md' 'docs/announce/2019.07.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2019.07.md' 'docs/announce/2015.02.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.02.md' 'docs/announce/2016.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.03.md' 'docs/announce/2019.07.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2019.07.1.md' 'docs/announce/2012.10' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.10' 'docs/announce/2016.08.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.08.1.md' 'docs/announce/2012.12' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.12' 'docs/announce/2013.01' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2013.01' 'docs/announce/2024.04.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.04.md' 'docs/announce/2014.09.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2014.09.md' 'docs/announce/2024.03.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.03.md' 'docs/announce/2010.11' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2010.11' 'docs/announce/2021.05.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2021.05.md' 'docs/announce/2018.04.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2018.04.1.md' 'docs/announce/2020.02.1.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2020.02.1.md' 'docs/announce/2015.11.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2015.11.md' 'docs/announce/2016.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2016.06.md' 'docs/announce/2012.09.1' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2012.09.1' 'docs/announce/2024.06.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce/2024.06.md' 'docs/announce' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/announce' 'docs/obtaining-a-commit-bit.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/obtaining-a-commit-bit.pod' 'docs/windows.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/windows.md' 'docs/rakudo-nqp-and-pod-notes.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/rakudo-nqp-and-pod-notes.md' 'docs/language_versions.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/language_versions.md' 'docs/ROADMAP' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/ROADMAP' 'docs/metaobject-api.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/metaobject-api.pod' 'docs/dispatchers.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/dispatchers.md' 'docs/ops.markdown' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/ops.markdown' 'docs/compiler_overview.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/compiler_overview.pod' 'docs/guide_to_setting.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/guide_to_setting.pod' 'docs/release-guide-binary.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/release-guide-binary.md' 'docs/articles/2016-02 Proposed Perl 6 Versioning And Compatibility Guidelines.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/articles/2016-02 Proposed Perl 6 Versioning And Compatibility Guidelines.md' 'docs/articles' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/articles' 'docs/roast.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/roast.md' 'docs/S26-declarator-block-notes-from-Damian-Conway.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/S26-declarator-block-notes-from-Damian-Conway.md' 'docs/architecture.html' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/architecture.html' 'docs/rakuast/rakuast-compilation-phases.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/rakuast/rakuast-compilation-phases.md' 'docs/rakuast' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/rakuast' 'docs/Building-Rakudo.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/Building-Rakudo.md' 'docs/release_guide.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/release_guide.pod' 'docs/ChangeLog' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/ChangeLog' 'docs/S26-configure-notes-from-Damian-Conway.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/S26-configure-notes-from-Damian-Conway.md' 'docs/metamodel.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/metamodel.pod' 'docs/S11-Modules-proposal.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/S11-Modules-proposal.pod' 'docs/archive/constants-type-constraints-proposal-2018-02-10.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/archive/constants-type-constraints-proposal-2018-02-10.md' 'docs/archive/2017-IO-Grant--Action-Plan.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/archive/2017-IO-Grant--Action-Plan.md' 'docs/archive/spectest-progress.csv' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/archive/spectest-progress.csv' 'docs/archive/2018-03-04--Polishing-Rationals.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/archive/2018-03-04--Polishing-Rationals.md' 'docs/archive' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/archive' 'docs/line-editor.pod' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs/line-editor.pod' 'docs' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo/usr/share/doc/rakudo/docs' >>> rakudo-dev*: Running split function dev... 'usr/bin/perl6-debug' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/perl6-debug' 'usr/bin/perl6-debug-m' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/perl6-debug-m' 'usr/bin/perl6-gdb-m' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/perl6-gdb-m' 'usr/bin/perl6-lldb-m' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/perl6-lldb-m' 'usr/bin/perl6-valgrind-m' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/perl6-valgrind-m' 'usr/bin/rakudo-debug' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/rakudo-debug' 'usr/bin/rakudo-debug-m' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/rakudo-debug-m' 'usr/bin/rakudo-gdb-m' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/rakudo-gdb-m' 'usr/bin/rakudo-lldb-m' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/rakudo-lldb-m' 'usr/bin/rakudo-valgrind-m' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/rakudo-valgrind-m' 'usr/bin/raku-debug' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/bin/raku-debug' created directory: '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/' created directory: '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build-localtest.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build-localtest.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/releasable/Akefile' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/releasable/Akefile' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/releasable/github-release' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/releasable/github-release' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/releasable' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/releasable' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/nuke-precomps.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/nuke-precomps.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/release-dates.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/release-dates.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/benchmark.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/benchmark.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/rakudo-limited.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/rakudo-limited.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/rakudo-swarm.config' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/rakudo-swarm.config' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/lib/NQP/Config/Rakudo.pm' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/lib/NQP/Config/Rakudo.pm' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/lib/NQP/Config' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/lib/NQP/Config' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/lib/NQP' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/lib/NQP' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/lib' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/lib' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/create-release-announcement.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/create-release-announcement.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/contributors.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/contributors.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/install-dist.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/install-dist.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/speedup.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/speedup.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/RAKU_SPECS' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/RAKU_SPECS' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.c/bootstrap_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.c/bootstrap_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.c/core_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.c/core_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.c' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.c' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/main-version-common.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/main-version-common.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/NQP_REVISION' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/NQP_REVISION' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/Makefile-common-rules.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/Makefile-common-rules.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/Makefile-common-macros.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/Makefile-common-macros.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/common_metamodel_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/common_metamodel_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/Makefile.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/Makefile.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/raku_ast_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/raku_ast_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.e/bootstrap_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.e/bootstrap_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.e/core_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.e/core_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.e' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.e' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/Makefile-backend-common.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/Makefile-backend-common.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/sh-prelude' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/sh-prelude' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/common_test_dirs' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/common_test_dirs' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/jvm/main-version.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/jvm/main-version.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/jvm/Makefile.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/jvm/Makefile.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/jvm/rakudo-j-build.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/jvm/rakudo-j-build.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/jvm' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/jvm' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/js/main-version.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/js/main-version.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/js/Makefile.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/js/Makefile.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/js/rakudo-js-build.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/js/rakudo-js-build.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/js/core_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/js/core_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/js' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/js' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.d/bootstrap_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.d/bootstrap_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.d/core_sources' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.d/core_sources' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/6.d' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/6.d' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/rakudo-lldb-m.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/rakudo-lldb-m.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/rakudo-valgrind-m.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/rakudo-valgrind-m.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/moar_includes' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/moar_includes' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/Makefile-gen-c-runner.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/Makefile-gen-c-runner.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/Makefile-runner_opts.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/Makefile-runner_opts.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/main-version.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/main-version.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/rakudo-m-early-build.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/rakudo-m-early-build.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/Makefile.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/Makefile.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/rakudo-m-build.c.windows' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/rakudo-m-build.c.windows' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/rakudo-debug-notice.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/rakudo-debug-notice.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/rakudo-gdb-m.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/rakudo-gdb-m.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/rakudo-m-build.c.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/rakudo-m-build.c.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar/Makefile-install.in' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar/Makefile-install.in' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates/moar' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates/moar' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/templates' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/templates' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeNATIVE_SORTING.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeNATIVE_SORTING.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/update-submodules.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/update-submodules.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/clean-target-files.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/clean-target-files.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/monitor-process.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/monitor-process.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeARRAY_SLICE_BIND.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeARRAY_SLICE_BIND.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeHTML-ENTITIES.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeHTML-ENTITIES.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/upgrade-repository.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/upgrade-repository.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/build-debian.sh' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/build-debian.sh' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/build-windows.ps1' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/build-windows.ps1' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/build-linux.sh' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/build-linux.sh' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/.gitignore' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/.gitignore' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/README.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/README.md' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/build-msi.ps1' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/build-msi.ps1' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/installer-assets/License.rtf' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/installer-assets/License.rtf' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/installer-assets/dialog.bmp' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/installer-assets/dialog.bmp' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/installer-assets/banner.bmp' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/installer-assets/banner.bmp' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/installer-assets' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/installer-assets' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/assets/camelia_icon.ico' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/assets/camelia_icon.ico' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/assets/rakudo_icon.ico' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/assets/rakudo_icon.ico' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/assets/README.txt' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/assets/README.txt' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/assets/scripts/rakudo_repl.ps1' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/assets/scripts/rakudo_repl.ps1' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/assets/scripts' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/assets/scripts' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/assets' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/assets' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi/rakudo.wxs' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi/rakudo.wxs' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/msi' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/msi' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/.gitattributes' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/.gitattributes' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/README.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/README.md' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/build-macos.sh' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/build-macos.sh' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/build-containers/Dockerfile' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/build-containers/Dockerfile' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/build-containers' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/build-containers' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Windows/README.txt' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Windows/README.txt' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Windows/scripts/set-env.ps1' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Windows/scripts/set-env.ps1' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Windows/scripts/set-env.bat' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Windows/scripts/set-env.bat' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Windows/scripts/vs_build_tools_install_assistant.ps1' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Windows/scripts/vs_build_tools_install_assistant.ps1' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Windows/scripts/set-env-cmd-helper.ps1' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Windows/scripts/set-env-cmd-helper.ps1' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Windows/scripts' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Windows/scripts' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Windows' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Windows' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/MacOS/README.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/MacOS/README.md' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/MacOS/scripts/set-env.sh' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/MacOS/scripts/set-env.sh' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/MacOS/scripts' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/MacOS/scripts' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/MacOS' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/MacOS' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Linux/README.md' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Linux/README.md' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Linux/scripts/set-env.sh' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Linux/scripts/set-env.sh' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Linux/scripts' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Linux/scripts' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets/Linux' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets/Linux' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release/assets' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release/assets' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/binary-release' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/binary-release' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/clean-precomps.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/clean-precomps.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeNATIVE_ARRAY.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeNATIVE_ARRAY.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeBLOB_ROLES.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeBLOB_ROLES.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/install-core-dist.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/install-core-dist.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeUNIPROP.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeUNIPROP.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeARRAY_SLICE_ACCESS.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeARRAY_SLICE_ACCESS.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeBUF_ROLES.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeBUF_ROLES.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeNATIVE_SHAPED1_CANDIDATES.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeNATIVE_SHAPED1_CANDIDATES.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/create-jvm-runner.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/create-jvm-runner.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeSLICE.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeSLICE.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/checkout-repos-for-test.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/checkout-repos-for-test.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/create-js-runner.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/create-js-runner.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/gen-cat.nqp' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/gen-cat.nqp' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeNATIVE_SHAPED_ARRAY.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeNATIVE_SHAPED_ARRAY.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/nqp-jvm-rr.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/nqp-jvm-rr.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/raku-ast-compiler.nqp' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/raku-ast-compiler.nqp' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/ln_s.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/ln_s.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/check-nqp-version.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/check-nqp-version.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/wrapper-compiler-helper.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/wrapper-compiler-helper.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeMAGIC_INC_DEC.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeMAGIC_INC_DEC.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeNATIVE_CANDIDATES.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeNATIVE_CANDIDATES.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build/makeARRAY_SLICE_ASSIGN.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build/makeARRAY_SLICE_ASSIGN.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/build' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/build' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/add-leap-second.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/add-leap-second.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/autounfudge.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/autounfudge.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/update-passing-test-data.pl' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/update-passing-test-data.pl' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools/CREDITS.raku' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools/CREDITS.raku' '/home/buildozer/aports/community/rakudo/src/rakudo-2026.08/tools' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-dev/usr/share/rakudo/tools' >>> rakudo-dev*: Preparing subpackage rakudo-dev... >>> rakudo-dev*: Stripping binaries >>> rakudo-dev*: Running postcheck for rakudo-dev >>> rakudo-doc*: Running split function doc... 'usr/share/doc' -> '/home/buildozer/aports/community/rakudo/pkg/rakudo-doc/usr/share/doc' >>> rakudo-doc*: Preparing subpackage rakudo-doc... >>> rakudo-doc*: Running postcheck for rakudo-doc >>> rakudo*: Running postcheck for rakudo >>> rakudo*: Preparing package rakudo... >>> rakudo*: Stripping binaries >>> rakudo*: Scanning shared objects >>> rakudo-dev*: Scanning shared objects >>> rakudo*: Tracing dependencies... nqp~2026.08 so:libc.musl-armv7.so.1 so:libmoar.so >>> rakudo*: Package size: 63.7 MB >>> rakudo*: Compressing data... >>> rakudo*: Create checksum... >>> rakudo*: Create rakudo-2026.08-r0.apk >>> rakudo-dev*: Tracing dependencies... so:libc.musl-armv7.so.1 so:libmoar.so >>> rakudo-dev*: Package size: 1.1 MB >>> rakudo-dev*: Compressing data... >>> rakudo-dev*: Create checksum... >>> rakudo-dev*: Create rakudo-dev-2026.08-r0.apk >>> rakudo-doc*: Tracing dependencies... >>> rakudo-doc*: Package size: 1.9 MB >>> rakudo-doc*: Compressing data... >>> rakudo-doc*: Create checksum... >>> rakudo-doc*: Create rakudo-doc-2026.08-r0.apk >>> rakudo: Build complete at Tue, 01 Sep 2026 13:54:08 +0000 elapsed time 0h 4m 54s >>> rakudo: Cleaning up srcdir >>> rakudo: Cleaning up pkgdir >>> rakudo: Cleaning up tmpdir >>> rakudo: Uninstalling dependencies... ( 1/22) Purging .makedepends-rakudo (20260901.134914) ( 2/22) Purging nqp (2026.08-r0) ( 3/22) Purging moarvm-dev (2026.08-r0) ( 4/22) Purging moarvm (2026.08-r0) ( 5/22) Purging libffi-dev (3.8.0-r0) ( 6/22) Purging linux-headers (7.2.1-r0) ( 7/22) Purging libffi (3.8.0-r0) ( 8/22) Purging libuv-dev (1.52.1-r0) ( 9/22) Purging libuv (1.52.1-r0) (10/22) Purging mimalloc2-dev (2.2.7-r0) (11/22) Purging mimalloc2-debug (2.2.7-r0) (12/22) Purging mimalloc2-insecure (2.2.7-r0) (13/22) Purging mimalloc2 (2.2.7-r0) (14/22) Purging zstd-dev (1.5.7-r2) (15/22) Purging zstd (1.5.7-r2) (16/22) Purging perl-utils (5.44.0-r0) (17/22) Purging perl-test-harness (3.52-r0) (18/22) Purging git-perl (2.55.0-r1) (19/22) Purging perl-git (2.55.0-r1) (20/22) Purging perl-error (0.17030-r0) (21/22) Purging perl (5.44.0-r0) (22/22) Purging libbz2 (1.0.8-r6) Executing busybox-1.38.0-r4.trigger OK: 289.8 MiB in 105 packages >>> rakudo: Updating the community/armv7 repository index... >>> rakudo: Signing the index...