diff --git a/t/08-performance/03-corekeys.t b/t/08-performance/03-corekeys.t new file mode 100644 index 00000000000..c4812f8f25d --- /dev/null +++ b/t/08-performance/03-corekeys.t @@ -0,0 +1,766 @@ +use Test; +plan 1; + +# output of "perl6 -e '.say for CORE::.keys.sort.map: { qq:!c/ Q{$_},/ }'" +my %allowed = ( + Q{!CORE_MARKER}, + Q{!INIT_VALUES}, + Q{$!}, + Q{$/}, + Q{$=pod}, + Q{$?BITS}, + Q{$?COMPILATION-ID}, + Q{$?NL}, + Q{$?TABSTOP}, + Q{$CORE_METAOP_ASSIGN}, + Q{$RAKUDO-VERBOSE-STACKFRAME}, + Q{$_}, + Q{%DEPRECATIONS}, + Q{&CLONE-HASH-DECONTAINERIZED}, + Q{&CLONE-LIST-DECONTAINERIZED}, + Q{&CMP-SLOW}, + Q{&COMP_EXCEPTION}, + Q{&CREATE_RATIONAL_FROM_INTS}, + Q{&DEPRECATED}, + Q{&DIVIDE_NUMBERS}, + Q{&DUMP}, + Q{&DYNAMIC}, + Q{&ENUM_VALUES}, + Q{&EVAL}, + Q{&EVALFILE}, + Q{&EXCEPTION}, + Q{&GATHER}, + Q{&GENERATE-ROLE-FROM-VALUE}, + Q{&HOW}, + Q{&HYPER}, + Q{&HYPERWHATEVER}, + Q{&INDIRECT_NAME_LOOKUP}, + Q{&INITIALIZE-A-DISTRO-NOW}, + Q{&INITIALIZE-A-VM-NOW}, + Q{&MD-ARRAY-SLICE}, + Q{&MD-ARRAY-SLICE-ONE-POSITION}, + Q{&MD-HASH-SLICE-ONE-POSITION}, + Q{&METAOP_ASSIGN}, + Q{&METAOP_CROSS}, + Q{&METAOP_HYPER}, + Q{&METAOP_HYPER_CALL}, + Q{&METAOP_HYPER_POSTFIX}, + Q{&METAOP_HYPER_POSTFIX_ARGS}, + Q{&METAOP_HYPER_PREFIX}, + Q{&METAOP_NEGATE}, + Q{&METAOP_REDUCE_CHAIN}, + Q{&METAOP_REDUCE_LEFT}, + Q{&METAOP_REDUCE_LIST}, + Q{&METAOP_REDUCE_LISTINFIX}, + Q{&METAOP_REDUCE_RIGHT}, + Q{&METAOP_REDUCE_XOR}, + Q{&METAOP_REVERSE}, + Q{&METAOP_TEST_ASSIGN:<&&>}, + Q{&METAOP_TEST_ASSIGN:}, + Q{&METAOP_TEST_ASSIGN:}, + Q{&METAOP_TEST_ASSIGN:}, + Q{&METAOP_TEST_ASSIGN:}, + Q{&METAOP_TEST_ASSIGN:}, + Q{&METAOP_TEST_ASSIGN:}, + Q{&METAOP_TEST_ASSIGN:<||>}, + Q{&METAOP_ZIP}, + Q{&ORDER}, + Q{&POSITIONS}, + Q{&QX}, + Q{&REACT}, + Q{&REACT-ONE-WHENEVER}, + Q{&REQUIRE_IMPORT}, + Q{&RETURN-LIST}, + Q{&RUN-MAIN}, + Q{&SEQUENCE}, + Q{&SLICE_HUH}, + Q{&SLICE_MORE_HASH}, + Q{&SLICE_MORE_LIST}, + Q{&SLICE_ONE_HASH}, + Q{&SLICE_ONE_LIST}, + Q{&SUPPLY}, + Q{&SUPPLY-ONE-EMIT}, + Q{&SUPPLY-ONE-WHENEVER}, + Q{&THROW}, + Q{&THROW-NIL}, + Q{&UNBASE}, + Q{&UNBASE_BRACKET}, + Q{&VAR}, + Q{&WHAT}, + Q{&WHENEVER}, + Q{&abs}, + Q{&acos}, + Q{&acosec}, + Q{&acosech}, + Q{&acosh}, + Q{&acotan}, + Q{&acotanh}, + Q{&all}, + Q{&any}, + Q{&append}, + Q{&asec}, + Q{&asech}, + Q{&asin}, + Q{&asinh}, + Q{&atan}, + Q{&atan2}, + Q{&atanh}, + Q{&atomic-add-fetch}, + Q{&atomic-assign}, + Q{&atomic-dec-fetch}, + Q{&atomic-fetch}, + Q{&atomic-fetch-add}, + Q{&atomic-fetch-dec}, + Q{&atomic-fetch-inc}, + Q{&atomic-fetch-sub}, + Q{&atomic-inc-fetch}, + Q{&atomic-sub-fetch}, + Q{&await}, + Q{&bag}, + Q{&cache}, + Q{&callframe}, + Q{&callsame}, + Q{&callwith}, + Q{&cas}, + Q{&categorize}, + Q{&ceiling}, + Q{&chars}, + Q{&chdir}, + Q{&chmod}, + Q{&chomp}, + Q{&chop}, + Q{&chr}, + Q{&chrs}, + Q{&circumfix:<:{ }>}, + Q{&circumfix:<[ ]>}, + Q{&circumfix:<{ }>}, + Q{&cis}, + Q{&classify}, + Q{&close}, + Q{&comb}, + Q{&combinations}, + Q{©}, + Q{&cos}, + Q{&cosec}, + Q{&cosech}, + Q{&cosh}, + Q{&cotan}, + Q{&cotanh}, + Q{&cross}, + Q{&dd}, + Q{&deepmap}, + Q{&defined}, + Q{&die}, + Q{&dir}, + Q{&done}, + Q{&duckmap}, + Q{&elems}, + Q{&emit}, + Q{&end}, + Q{&exit}, + Q{&exp}, + Q{&expmod}, + Q{&fail}, + Q{&fc}, + Q{&first}, + Q{&flat}, + Q{&flip}, + Q{&floor}, + Q{&from-json}, + Q{&full-barrier}, + Q{&get}, + Q{&getc}, + Q{&gethostname}, + Q{&gist}, + Q{&goto}, + Q{&grep}, + Q{&hash}, + Q{&index}, + Q{&indices}, + Q{&indir}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:<%%>}, + Q{&infix:<%>}, + Q{&infix:<&&>}, + Q{&infix:<&>}, + Q{&infix:<(&)>}, + Q{&infix:<(+)>}, + Q{&infix:<(-)>}, + Q{&infix:<(.)>}, + Q{&infix:<(^)>}, + Q{&infix:<(cont)>}, + Q{&infix:<(elem)>}, + Q{&infix:<(|)>}, + Q{&infix:<**>}, + Q{&infix:<*>}, + Q{&infix:<+&>}, + Q{&infix:<+>}, + Q{&infix:<+^>}, + Q{&infix:<+|>}, + Q{&infix:<,>}, + Q{&infix:<->}, + Q{&infix:<...>}, + Q{&infix:<...^>}, + Q{&infix:<..>}, + Q{&infix:<..^>}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:<=:=>}, + Q{&infix:<===>}, + Q{&infix:<==>}, + Q{&infix:<=>}, + Q{&infix:<=~=>}, + Q{&infix:<=~>}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:<^..>}, + Q{&infix:<^..^>}, + Q{&infix:<^>}, + Q{&infix:<^^>}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:
}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:}, + Q{&infix:<|>}, + Q{&infix:<||>}, + Q{&infix:<~&>}, + Q{&infix:<~>}, + Q{&infix:<~^>}, + Q{&infix:<~|>}, + Q{&infix:<~~>}, + Q{&infix:<×>}, + Q{&infix:<÷>}, + Q{&infix:<…>}, + Q{&infix:<…^>}, + Q{&infix:<∈>}, + Q{&infix:<∉>}, + Q{&infix:<∋>}, + Q{&infix:<∌>}, + Q{&infix:<−>}, + Q{&infix:<∖>}, + Q{&infix:<∘>}, + Q{&infix:<∩>}, + Q{&infix:<∪>}, + Q{&infix:<≅>}, + Q{&infix:<≠>}, + Q{&infix:<≤>}, + Q{&infix:<≥>}, + Q{&infix:<≼>}, + Q{&infix:<≽>}, + Q{&infix:<⊂>}, + Q{&infix:<⊃>}, + Q{&infix:<⊄>}, + Q{&infix:<⊅>}, + Q{&infix:<⊆>}, + Q{&infix:<⊇>}, + Q{&infix:<⊈>}, + Q{&infix:<⊉>}, + Q{&infix:<⊍>}, + Q{&infix:<⊎>}, + Q{&infix:<⊖>}, + Q{&infix:<⚛+=>}, + Q{&infix:<⚛-=>}, + Q{&infix:<⚛=>}, + Q{&infix:<⚛−=>}, + Q{&infix:«(<)»}, + Q{&infix:«(<+)»}, + Q{&infix:«(<=)»}, + Q{&infix:«(>)»}, + Q{&infix:«(>+)»}, + Q{&infix:«(>=)»}, + Q{&infix:«+<»}, + Q{&infix:«+>»}, + Q{&infix:«<=>»}, + Q{&infix:«<=»}, + Q{&infix:«<»}, + Q{&infix:«=>»}, + Q{&infix:«>=»}, + Q{&infix:«>»}, + Q{&infix:«~<»}, + Q{&infix:«~>»}, + Q{&is-prime}, + Q{&item}, + Q{&join}, + Q{&keys}, + Q{&kv}, + Q{&last}, + Q{&lastcall}, + Q{&lc}, + Q{&leave}, + Q{&lines}, + Q{&link}, + Q{&list}, + Q{&log}, + Q{&log10}, + Q{&lsb}, + Q{&make}, + Q{&map}, + Q{&max}, + Q{&min}, + Q{&minmax}, + Q{&mix}, + Q{&mkdir}, + Q{&move}, + Q{&msb}, + Q{&next}, + Q{&nextcallee}, + Q{&nextsame}, + Q{&nextwith}, + Q{&nodemap}, + Q{&none}, + Q{¬}, + Q{¬e}, + Q{&one}, + Q{&open}, + Q{&ord}, + Q{&ords}, + Q{&pair}, + Q{&pairs}, + Q{&parse-base}, + Q{&parse-names}, + Q{&permutations}, + Q{&pick}, + Q{&pop}, + Q{&postcircumfix:<[ ]>}, + Q{&postcircumfix:<[; ]>}, + Q{&postcircumfix:<{ }>}, + Q{&postcircumfix:<{; }>}, + Q{&postfix:<++>}, + Q{&postfix:<-->}, + Q{&postfix:}, + Q{&postfix:<ⁿ>}, + Q{&postfix:<⚛++>}, + Q{&postfix:<⚛-->}, + Q{&prefix:}, + Q{&prefix:<++>}, + Q{&prefix:<++⚛>}, + Q{&prefix:<+>}, + Q{&prefix:<+^>}, + Q{&prefix:<-->}, + Q{&prefix:<--⚛>}, + Q{&prefix:<->}, + Q{&prefix:}, + Q{&prefix:}, + Q{&prefix:<^>}, + Q{&prefix:}, + Q{&prefix:}, + Q{&prefix:}, + Q{&prefix:}, + Q{&prefix:<|>}, + Q{&prefix:<~>}, + Q{&prefix:<~^>}, + Q{&prefix:<−>}, + Q{&prefix:<⚛>}, + Q{&prepend}, + Q{&print}, + Q{&printf}, + Q{&proceed}, + Q{&produce}, + Q{&prompt}, + Q{&push}, + Q{&put}, + Q{&rand}, + Q{&redo}, + Q{&reduce}, + Q{&rename}, + Q{&repeated}, + Q{&return}, + Q{&return-rw}, + Q{&reverse}, + Q{&rindex}, + Q{&rmdir}, + Q{&roll}, + Q{&roots}, + Q{&rotate}, + Q{&round}, + Q{&roundrobin}, + Q{&run}, + Q{&samecase}, + Q{&samemark}, + Q{&samewith}, + Q{&say}, + Q{&sec}, + Q{&sech}, + Q{&set}, + Q{&shell}, + Q{&shift}, + Q{&sign}, + Q{&signal}, + Q{&sin}, + Q{&sinh}, + Q{&sleep}, + Q{&sleep-timer}, + Q{&sleep-until}, + Q{&slip}, + Q{&slurp}, + Q{&so}, + Q{&sort}, + Q{&splice}, + Q{&split}, + Q{&sprintf}, + Q{&spurt}, + Q{&sqrt}, + Q{&squish}, + Q{&srand}, + Q{&subbuf-rw}, + Q{&substr}, + Q{&substr-rw}, + Q{&succeed}, + Q{&sum}, + Q{&symlink}, + Q{&take}, + Q{&take-rw}, + Q{&tan}, + Q{&tanh}, + Q{&tc}, + Q{&tclc}, + Q{&term:}, + Q{&term: