ok lex-empty (0.041ms) ok lex-whitespace-stripped (0.001ms) ok lex-comment-stripped (0.000ms) ok lex-int-literals (0.002ms) ok lex-float-literals (0.010ms) ok lex-string-literals (0.002ms) ok lex-string-escape-newline (0.001ms) ok lex-string-escape-tab (0.001ms) ok lex-string-escape-backslash (0.000ms) ok lex-bool-literals (0.002ms) ok lex-identifier (0.002ms) ok lex-keywords (0.005ms) ok lex-more-keywords (0.001ms) ok lex-keyword-values (0.000ms) ok lex-arithmetic-operators (0.001ms) ok lex-comparison-operators (0.001ms) ok lex-logical-operators (0.002ms) ok lex-arrow-tokens (0.001ms) ok lex-delimiters (0.001ms) ok lex-double-colon (0.000ms) ok lex-dot-dot (0.001ms) ok lex-pipe-operators (0.000ms) ok lex-at-and-question (0.009ms) ok lex-eof-always-last (0.001ms) ok lex-string-with-spaces (0.000ms) ok lex-multiline-source (0.002ms) ok lex-flat-stride-3-layout (0.001ms) ok lexer-tracks-line-numbers (0.003ms) ok parse-let-stmt (0.025ms) ok parse-fn-decl (0.008ms) ok parse-fn-params (0.004ms) ok parse-return-stmt (0.002ms) ok parse-if-stmt (0.007ms) ok parse-if-else (0.006ms) ok parse-while-stmt (0.006ms) ok parse-import-stmt (0.001ms) ok parse-extern-fn (0.003ms) ok parse-let-int-value (0.002ms) ok parse-let-string-value (0.002ms) ok parse-let-bool-value (0.001ms) ok parse-binop-expr (0.002ms) ok parse-call-expr (0.004ms) ok parse-multiple-fns (0.005ms) ok parse-assign-stmt (0.003ms) ok parse-for-stmt (0.005ms) ok parse-unary-not (0.003ms) ok parse-unary-neg (0.003ms) ok parse-array-literal (0.006ms) ok parse-empty-array (0.003ms) ok parse-index-expr (0.006ms) ok codegen-includes (0.288ms) ok codegen-int-main (0.090ms) ok codegen-runtime-init (0.075ms) ok codegen-void-function-signature (0.106ms) ok codegen-function-with-params (0.133ms) ok codegen-int-literal (0.080ms) ok codegen-string-literal (0.062ms) ok codegen-if-statement (0.072ms) ok codegen-if-else (0.070ms) ok codegen-while-loop (0.115ms) ok codegen-let-binding (0.069ms) ok codegen-function-call (0.063ms) ok codegen-string-concat (0.068ms) ok codegen-int-arithmetic (0.063ms) ok codegen-comparison (0.062ms) ok codegen-string-equality (0.066ms) ok codegen-logical-and (0.069ms) ok codegen-logical-or (0.100ms) ok codegen-unary-not (0.068ms) ok codegen-string-escape-in-c (0.064ms) ok codegen-many-functions (0.089ms) ok codegen-deep-expression (0.080ms) ok codegen-forward-declarations (0.066ms) ok codegen-for-loop (0.249ms) ok codegen-extern-fn (0.070ms) ok codegen-nested-calls (0.063ms) ok compiler-minimal-program (0.059ms) ok compiler-pure-library (0.062ms) ok compiler-multiple-fns-with-main (0.071ms) ok compiler-let-in-main (0.082ms) ok compiler-string-concat-chain (0.077ms) ok compiler-negative-literal (0.060ms) ok compiler-stdint-include (0.054ms) ok decorator-undecorated-fn-has-no-beat (0.054ms) ok decorator-authenticate-compiles-to-nothing (0.117ms) ok declared-construct-name-unknown-to-codegen (0.070ms) ok undeclared-construct-still-injects-nothing (0.061ms) ok undeclared-guard-emits-nothing (0.062ms) ok seam-indirection-emitted-on-every-fn (0.066ms) ok seam-emitted-without-any-decorator (0.060ms) ok seam-replaces-inlined-entry-injection (0.054ms) ok seam-entry-is-refusable (0.053ms) ok seam-is-emitted-for-undecorated-fns (0.058ms) ok every-fn-gets-a-body-helper-and-wrapper (0.095ms) ok exit-crossing-goes-through-the-seam (0.063ms) ok early-returns-route-through-the-exit-seam (0.066ms) ok every-fn-gets-a-closure (0.057ms) ok zero-param-fn-emits-valid-c (0.057ms) ok compiler-no-longer-emits-prohibition-errors (0.072ms) ok int-returning-builtin-drives-arithmetic-dispatch (0.086ms) ok string-plus-string-still-concatenates (0.059ms) ok freed-identifiers-compile-as-identifiers (0.067ms) ok test-keyword-is-still-reserved (0.057ms) ok instant-plus-bare-int-is-refused (0.067ms) ok instant-plus-unit-suffix-is-allowed (0.125ms) 105 tests, 105 passed, 0 failed, 253 assertions in 4.589ms native_suite_exit=0