ok lex-empty (0.039ms) ok lex-whitespace-stripped (0.002ms) ok lex-comment-stripped (0.001ms) 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.001ms) ok lex-identifier (0.002ms) ok lex-keywords (0.005ms) ok lex-more-keywords (0.002ms) ok lex-keyword-values (0.002ms) ok lex-arithmetic-operators (0.001ms) ok lex-comparison-operators (0.001ms) ok lex-logical-operators (0.001ms) ok lex-arrow-tokens (0.000ms) ok lex-delimiters (0.002ms) ok lex-double-colon (0.000ms) ok lex-dot-dot (0.000ms) ok lex-pipe-operators (0.001ms) ok lex-at-and-question (0.001ms) ok lex-eof-always-last (0.010ms) 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.002ms) ok parse-let-stmt (0.027ms) ok parse-fn-decl (0.010ms) ok parse-fn-params (0.004ms) ok parse-return-stmt (0.002ms) ok parse-if-stmt (0.006ms) ok parse-if-else (0.007ms) ok parse-while-stmt (0.006ms) ok parse-import-stmt (0.002ms) 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.002ms) 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.006ms) ok parse-unary-not (0.004ms) ok parse-unary-neg (0.004ms) ok parse-array-literal (0.005ms) ok parse-empty-array (0.003ms) ok parse-index-expr (0.004ms) ok codegen-includes (0.288ms) ok codegen-int-main (0.219ms) ok codegen-runtime-init (0.110ms) ok codegen-void-function-signature (0.130ms) ok codegen-function-with-params (0.119ms) ok codegen-int-literal (0.303ms) ok codegen-string-literal (0.134ms) ok codegen-if-statement (0.118ms) ok codegen-if-else (0.126ms) ok codegen-while-loop (0.105ms) ok codegen-let-binding (0.094ms) ok codegen-function-call (0.093ms) ok codegen-string-concat (0.100ms) ok codegen-int-arithmetic (0.096ms) ok codegen-comparison (0.114ms) ok codegen-string-equality (0.100ms) ok codegen-logical-and (0.106ms) ok codegen-logical-or (0.095ms) ok codegen-unary-not (0.092ms) ok codegen-string-escape-in-c (0.084ms) ok codegen-many-functions (0.121ms) ok codegen-deep-expression (0.109ms) ok codegen-forward-declarations (0.099ms) ok codegen-for-loop (0.273ms) ok codegen-extern-fn (0.164ms) ok codegen-nested-calls (0.112ms) ok compiler-minimal-program (0.073ms) ok compiler-pure-library (0.088ms) ok compiler-multiple-fns-with-main (0.095ms) ok compiler-let-in-main (0.059ms) ok compiler-string-concat-chain (0.088ms) ok compiler-negative-literal (0.114ms) ok compiler-stdint-include (0.120ms) ok decorator-undecorated-fn-has-no-beat (0.119ms) ok decorator-authenticate-compiles-to-nothing (0.227ms) ok declared-construct-name-unknown-to-codegen (0.087ms) ok undeclared-construct-still-injects-nothing (0.122ms) ok undeclared-guard-emits-nothing (0.081ms) ok seam-indirection-emitted-on-every-fn (0.078ms) ok seam-emitted-without-any-decorator (0.065ms) ok seam-replaces-inlined-entry-injection (0.239ms) ok seam-entry-is-refusable (0.132ms) ok seam-is-emitted-for-undecorated-fns (0.089ms) ok every-fn-gets-a-body-helper-and-wrapper (0.105ms) ok exit-crossing-goes-through-the-seam (0.070ms) ok early-returns-route-through-the-exit-seam (0.075ms) ok every-fn-gets-a-closure (0.070ms) ok zero-param-fn-emits-valid-c (0.061ms) ok compiler-no-longer-emits-prohibition-errors (0.083ms) ok int-returning-builtin-drives-arithmetic-dispatch (0.084ms) ok string-plus-string-still-concatenates (0.061ms) ok freed-identifiers-compile-as-identifiers (0.113ms) ok test-keyword-is-still-reserved (0.079ms) ok instant-plus-bare-int-is-refused (0.080ms) ok instant-plus-unit-suffix-is-allowed (0.098ms) 105 tests, 105 passed, 0 failed, 253 assertions in 6.564ms native_suite_exit=0