[INFO] cloning repository https://github.com/ConnorVoisey/lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ConnorVoisey/lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConnorVoisey%2Flang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConnorVoisey%2Flang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 81ad789138450aea8a51b0a68e282f9d8d262824
[INFO] testing ConnorVoisey/lang against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConnorVoisey%2Flang" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ConnorVoisey/lang
[INFO] finished tweaking git repo https://github.com/ConnorVoisey/lang
[INFO] tweaked toml for git repo https://github.com/ConnorVoisey/lang written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ConnorVoisey/lang on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ConnorVoisey/lang already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serial_test_derive v3.2.0
[INFO] [stderr]   Downloaded serial_test v3.2.0
[INFO] [stderr]   Downloaded cranelift-bitset v0.123.2
[INFO] [stderr]   Downloaded wasmtime-internal-math v36.0.2
[INFO] [stderr]   Downloaded cranelift v0.123.2
[INFO] [stderr]   Downloaded quickscope v0.2.0
[INFO] [stderr]   Downloaded cranelift-native v0.123.2
[INFO] [stderr]   Downloaded cranelift-codegen-shared v0.123.2
[INFO] [stderr]   Downloaded tracing-tree v0.4.1
[INFO] [stderr]   Downloaded cranelift-srcgen v0.123.2
[INFO] [stderr]   Downloaded cranelift-control v0.123.2
[INFO] [stderr]   Downloaded sdd v3.0.10
[INFO] [stderr]   Downloaded target-lexicon v0.13.3
[INFO] [stderr]   Downloaded cranelift-bforest v0.123.2
[INFO] [stderr]   Downloaded cranelift-assembler-x64 v0.123.2
[INFO] [stderr]   Downloaded cranelift-object v0.123.2
[INFO] [stderr]   Downloaded cranelift-module v0.123.2
[INFO] [stderr]   Downloaded owo-colors v4.2.2
[INFO] [stderr]   Downloaded cranelift-entity v0.123.2
[INFO] [stderr]   Downloaded serde v1.0.223
[INFO] [stderr]   Downloaded serde_derive v1.0.223
[INFO] [stderr]   Downloaded serde_core v1.0.223
[INFO] [stderr]   Downloaded cranelift-frontend v0.123.2
[INFO] [stderr]   Downloaded cranelift-assembler-x64-meta v0.123.2
[INFO] [stderr]   Downloaded cranelift-codegen-meta v0.123.2
[INFO] [stderr]   Downloaded cranelift-isle v0.123.2
[INFO] [stderr]   Downloaded regalloc2 v0.12.2
[INFO] [stderr]   Downloaded scc v2.4.0
[INFO] [stderr]   Downloaded cranelift-codegen v0.123.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 299f019f0b9f36431da122eec784dd5681148599081ca6a0993cab8c6b22adbe
[INFO] running `Command { std: "docker" "start" "-a" "299f019f0b9f36431da122eec784dd5681148599081ca6a0993cab8c6b22adbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "299f019f0b9f36431da122eec784dd5681148599081ca6a0993cab8c6b22adbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "299f019f0b9f36431da122eec784dd5681148599081ca6a0993cab8c6b22adbe", kill_on_drop: false }`
[INFO] [stdout] 299f019f0b9f36431da122eec784dd5681148599081ca6a0993cab8c6b22adbe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ab289957d5c639a284e8c54b076015e6f2100026aaaa5c505d097084c85aee8
[INFO] running `Command { std: "docker" "start" "-a" "1ab289957d5c639a284e8c54b076015e6f2100026aaaa5c505d097084c85aee8", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling cranelift-srcgen v0.123.2
[INFO] [stderr]    Compiling cranelift-isle v0.123.2
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.123.2
[INFO] [stderr]    Compiling cranelift-bitset v0.123.2
[INFO] [stderr]    Compiling target-lexicon v0.13.3
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling arbitrary v1.4.2
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling wasmtime-internal-math v36.0.2
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling cranelift-entity v0.123.2
[INFO] [stderr]    Compiling owo-colors v4.2.2
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling serde_core v1.0.223
[INFO] [stderr]    Compiling cranelift-assembler-x64-meta v0.123.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling cranelift-bforest v0.123.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling indexmap v2.11.1
[INFO] [stderr]    Compiling regalloc2 v0.12.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling cranelift-control v0.123.2
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.123.2
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling codespan-reporting v0.12.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling quickscope v0.2.0
[INFO] [stderr]    Compiling tracing-tree v0.4.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling cranelift-assembler-x64 v0.123.2
[INFO] [stderr]    Compiling addr2line v0.24.2
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling cranelift-codegen v0.123.2
[INFO] [stderr]    Compiling tracing-chrome v0.7.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling backtrace v0.3.75
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling cranelift-frontend v0.123.2
[INFO] [stderr]    Compiling cranelift-native v0.123.2
[INFO] [stderr]    Compiling cranelift-module v0.123.2
[INFO] [stderr]    Compiling cranelift-object v0.123.2
[INFO] [stderr]    Compiling cranelift v0.123.2
[INFO] [stderr]    Compiling lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `StructLayout` and `self`
[INFO] [stdout]  --> src/rvsdg/builder.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     struct_layout::{self, StructLayout},
[INFO] [stdout]   |                     ^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/types/mod.rs:313:44
[INFO] [stdout]     |
[INFO] [stdout] 312 | ...                   params: todo!(),
[INFO] [stdout]     |                               ------- any code following this expression is unreachable
[INFO] [stdout] 313 | ...                   param_symbols: todo!(),
[INFO] [stdout]     |                                      ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cached_node`
[INFO] [stdout]    --> src/rvsdg/builder.rs:152:22
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if let Some(&cached_node) = self.value_cache.get(&key) {
[INFO] [stdout]     |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/rvsdg/builder.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let ty = value.node; // Placeholder - we'd need to track types properly
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rvsdg/graphviz.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             _ => ("white", "rounded"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/rvsdg/graphviz.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             NodeKind::Lambda { .. } | NodeKind::Gamma { .. } | NodeKind::Theta { .. } => {
[INFO] [stdout]     |             ------------------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 103 |             NodeKind::Const { .. } => ("lightgreen", "filled,rounded"),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 104 |             NodeKind::Binary { .. } | NodeKind::Unary { .. } => ("lightyellow", "filled,rounded"),
[INFO] [stdout]     |             ------------------------------------------------ matches some of the same values
[INFO] [stdout] 105 |             NodeKind::Call { .. } => ("orange", "filled,rounded"),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 113 |             _ => ("white", "rounded"),
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outer_state`
[INFO] [stdout]   --> src/rvsdg/lower/theta.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let outer_state = self.current_state;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/rvsdg/lower/mod.rs:458:31
[INFO] [stdout]     |
[INFO] [stdout] 458 |             Op::DoubleColon { left, right } => {
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/rvsdg/lower/mod.rs:458:37
[INFO] [stdout]     |
[INFO] [stdout] 458 |             Op::DoubleColon { left, right } => {
[INFO] [stdout]     |                                     ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_conv`
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         call_conv: CallConv,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:777:31
[INFO] [stdout]     |
[INFO] [stdout] 777 |             NodeKind::Store { ty, inputs } => {
[INFO] [stdout]     |                               ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:439:36
[INFO] [stdout]     |
[INFO] [stdout] 439 |                     SymbolKind::Fn(fn_symbol_data) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_arg_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:440:39
[INFO] [stdout]     |
[INFO] [stdout] 440 |                     SymbolKind::FnArg(fn_arg_symbol_data) => todo!(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_arg_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:441:37
[INFO] [stdout]     |
[INFO] [stdout] 441 |                     SymbolKind::Var(var_symbol_data) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:445:38
[INFO] [stdout]     |
[INFO] [stdout] 445 |                     SymbolKind::Enum(enum_symbol_data) => todo!(),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enum_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek_n_token` is never used
[INFO] [stdout]   --> src/ast/mod.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Ast {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn peek_n_token(&self, amount: usize) -> Option<&Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `StructFieldAddr` is never constructed
[INFO] [stdout]    --> src/rvsdg/mod.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 627 | pub(crate) enum NodeKeyKind {
[INFO] [stdout]     |                 ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 631 |     StructFieldAddr { field: FieldId },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NodeKeyKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fb` and `region_id` are never read
[INFO] [stdout]   --> src/rvsdg/builder.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct RegionBuilder<'a> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 57 |     fb: &'a mut FunctionBuilder<'a>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 58 |     region_id: RegionId,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_function` is never read
[INFO] [stdout]   --> src/rvsdg/to_cranelift.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct RvsdgToCranelift<'a> {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     current_function: Option<FunctionId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block_map` is never read
[INFO] [stdout]   --> src/rvsdg/to_cranelift.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct FunctionCompiler<'a, 'b> {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 73 |     block_map: FxHashMap<NodeId, Vec<Block>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_struct_id_from_ptr` is never used
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:805:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl<'a, 'b> FunctionCompiler<'a, 'b> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 805 |     fn get_struct_id_from_ptr(&self, ptr_value_id: ValueId) -> color_eyre::Result<StructId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 24s
[INFO] running `Command { std: "docker" "inspect" "1ab289957d5c639a284e8c54b076015e6f2100026aaaa5c505d097084c85aee8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ab289957d5c639a284e8c54b076015e6f2100026aaaa5c505d097084c85aee8", kill_on_drop: false }`
[INFO] [stdout] 1ab289957d5c639a284e8c54b076015e6f2100026aaaa5c505d097084c85aee8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6870a64302a33bad1202f3d4ee4b5194dcae37ad147de63498de426463a5e00d
[INFO] running `Command { std: "docker" "start" "-a" "6870a64302a33bad1202f3d4ee4b5194dcae37ad147de63498de426463a5e00d", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling tracing-chrome v0.7.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling serial_test v3.2.0
[INFO] [stderr]    Compiling backtrace v0.3.75
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling cranelift-object v0.123.2
[INFO] [stderr]    Compiling lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `StructLayout` and `self`
[INFO] [stdout]  --> src/rvsdg/builder.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     struct_layout::{self, StructLayout},
[INFO] [stdout]   |                     ^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/types/mod.rs:313:44
[INFO] [stdout]     |
[INFO] [stdout] 312 | ...                   params: todo!(),
[INFO] [stdout]     |                               ------- any code following this expression is unreachable
[INFO] [stdout] 313 | ...                   param_symbols: todo!(),
[INFO] [stdout]     |                                      ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TokenKind`, `Token`, and `VarType`
[INFO] [stdout]   --> src/ast/ast_import.rs:71:20
[INFO] [stdout]    |
[INFO] [stdout] 71 |         ast::{Ast, VarType},
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 72 |         interner::{Interner, SharedInterner},
[INFO] [stdout] 73 |         lexer::{Lexer, Token, TokenKind},
[INFO] [stdout]    |                        ^^^^^  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stdout]   --> src/ast/ast_import.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     use pretty_assertions::assert_eq;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]    --> src/ast/ast_struct.rs:156:24
[INFO] [stdout]     |
[INFO] [stdout] 156 |         lexer::{Lexer, Token, TokenKind},
[INFO] [stdout]     |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StructLayout` and `self`
[INFO] [stdout]  --> src/rvsdg/builder.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     struct_layout::{self, StructLayout},
[INFO] [stdout]   |                     ^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/rvsdg/optimize.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cached_node`
[INFO] [stdout]    --> src/rvsdg/builder.rs:152:22
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if let Some(&cached_node) = self.value_cache.get(&key) {
[INFO] [stdout]     |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/rvsdg/builder.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let ty = value.node; // Placeholder - we'd need to track types properly
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rvsdg/graphviz.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             _ => ("white", "rounded"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/rvsdg/graphviz.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             NodeKind::Lambda { .. } | NodeKind::Gamma { .. } | NodeKind::Theta { .. } => {
[INFO] [stdout]     |             ------------------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 103 |             NodeKind::Const { .. } => ("lightgreen", "filled,rounded"),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 104 |             NodeKind::Binary { .. } | NodeKind::Unary { .. } => ("lightyellow", "filled,rounded"),
[INFO] [stdout]     |             ------------------------------------------------ matches some of the same values
[INFO] [stdout] 105 |             NodeKind::Call { .. } => ("orange", "filled,rounded"),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 113 |             _ => ("white", "rounded"),
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outer_state`
[INFO] [stdout]   --> src/rvsdg/lower/theta.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let outer_state = self.current_state;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/rvsdg/lower/mod.rs:458:31
[INFO] [stdout]     |
[INFO] [stdout] 458 |             Op::DoubleColon { left, right } => {
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/rvsdg/lower/mod.rs:458:37
[INFO] [stdout]     |
[INFO] [stdout] 458 |             Op::DoubleColon { left, right } => {
[INFO] [stdout]     |                                     ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_conv`
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         call_conv: CallConv,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:777:31
[INFO] [stdout]     |
[INFO] [stdout] 777 |             NodeKind::Store { ty, inputs } => {
[INFO] [stdout]     |                               ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:439:36
[INFO] [stdout]     |
[INFO] [stdout] 439 |                     SymbolKind::Fn(fn_symbol_data) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_arg_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:440:39
[INFO] [stdout]     |
[INFO] [stdout] 440 |                     SymbolKind::FnArg(fn_arg_symbol_data) => todo!(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_arg_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:441:37
[INFO] [stdout]     |
[INFO] [stdout] 441 |                     SymbolKind::Var(var_symbol_data) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:445:38
[INFO] [stdout]     |
[INFO] [stdout] 445 |                     SymbolKind::Enum(enum_symbol_data) => todo!(),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enum_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek_n_token` is never used
[INFO] [stdout]   --> src/ast/mod.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Ast {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn peek_n_token(&self, amount: usize) -> Option<&Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `StructFieldAddr` is never constructed
[INFO] [stdout]    --> src/rvsdg/mod.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 627 | pub(crate) enum NodeKeyKind {
[INFO] [stdout]     |                 ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 631 |     StructFieldAddr { field: FieldId },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NodeKeyKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fb` and `region_id` are never read
[INFO] [stdout]   --> src/rvsdg/builder.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct RegionBuilder<'a> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 57 |     fb: &'a mut FunctionBuilder<'a>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 58 |     region_id: RegionId,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_function` is never read
[INFO] [stdout]   --> src/rvsdg/to_cranelift.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct RvsdgToCranelift<'a> {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     current_function: Option<FunctionId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block_map` is never read
[INFO] [stdout]   --> src/rvsdg/to_cranelift.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct FunctionCompiler<'a, 'b> {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 73 |     block_map: FxHashMap<NodeId, Vec<Block>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_struct_id_from_ptr` is never used
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:805:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl<'a, 'b> FunctionCompiler<'a, 'b> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 805 |     fn get_struct_id_from_ptr(&self, ptr_value_id: ValueId) -> color_eyre::Result<StructId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/types/mod.rs:313:44
[INFO] [stdout]     |
[INFO] [stdout] 312 | ...                   params: todo!(),
[INFO] [stdout]     |                               ------- any code following this expression is unreachable
[INFO] [stdout] 313 | ...                   param_symbols: todo!(),
[INFO] [stdout]     |                                      ^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/ast/ast_import.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let i = shared_interner.write();
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args_mapped`
[INFO] [stdout]   --> src/ast/ast_import.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let args_mapped = args
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_args_mapped`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/ast_struct.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let mut i = shared_interner.write();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lexer/mod.rs:476:13
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let mut i = shared_interner.write();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/lexer/mod.rs:476:13
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let mut i = shared_interner.write();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cached_node`
[INFO] [stdout]    --> src/rvsdg/builder.rs:152:22
[INFO] [stdout]     |
[INFO] [stdout] 152 |         if let Some(&cached_node) = self.value_cache.get(&key) {
[INFO] [stdout]     |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/rvsdg/builder.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let ty = value.node; // Placeholder - we'd need to track types properly
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rvsdg/graphviz.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             _ => ("white", "rounded"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/rvsdg/graphviz.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             NodeKind::Lambda { .. } | NodeKind::Gamma { .. } | NodeKind::Theta { .. } => {
[INFO] [stdout]     |             ------------------------------------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 103 |             NodeKind::Const { .. } => ("lightgreen", "filled,rounded"),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 104 |             NodeKind::Binary { .. } | NodeKind::Unary { .. } => ("lightyellow", "filled,rounded"),
[INFO] [stdout]     |             ------------------------------------------------ matches some of the same values
[INFO] [stdout] 105 |             NodeKind::Call { .. } => ("orange", "filled,rounded"),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 113 |             _ => ("white", "rounded"),
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outer_state`
[INFO] [stdout]   --> src/rvsdg/lower/theta.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let outer_state = self.current_state;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/rvsdg/lower/mod.rs:458:31
[INFO] [stdout]     |
[INFO] [stdout] 458 |             Op::DoubleColon { left, right } => {
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `left: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/rvsdg/lower/mod.rs:458:37
[INFO] [stdout]     |
[INFO] [stdout] 458 |             Op::DoubleColon { left, right } => {
[INFO] [stdout]     |                                     ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_conv`
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         call_conv: CallConv,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:777:31
[INFO] [stdout]     |
[INFO] [stdout] 777 |             NodeKind::Store { ty, inputs } => {
[INFO] [stdout]     |                               ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:439:36
[INFO] [stdout]     |
[INFO] [stdout] 439 |                     SymbolKind::Fn(fn_symbol_data) => todo!(),
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fn_arg_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:440:39
[INFO] [stdout]     |
[INFO] [stdout] 440 |                     SymbolKind::FnArg(fn_arg_symbol_data) => todo!(),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_arg_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:441:37
[INFO] [stdout]     |
[INFO] [stdout] 441 |                     SymbolKind::Var(var_symbol_data) => todo!(),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enum_symbol_data`
[INFO] [stdout]    --> src/symbols/mod.rs:445:38
[INFO] [stdout]     |
[INFO] [stdout] 445 |                     SymbolKind::Enum(enum_symbol_data) => todo!(),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enum_symbol_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek_n_token` is never used
[INFO] [stdout]   --> src/ast/mod.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Ast {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn peek_n_token(&self, amount: usize) -> Option<&Token> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `StructFieldAddr` is never constructed
[INFO] [stdout]    --> src/rvsdg/mod.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 627 | pub(crate) enum NodeKeyKind {
[INFO] [stdout]     |                 ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 631 |     StructFieldAddr { field: FieldId },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NodeKeyKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fb` and `region_id` are never read
[INFO] [stdout]   --> src/rvsdg/builder.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct RegionBuilder<'a> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 57 |     fb: &'a mut FunctionBuilder<'a>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 58 |     region_id: RegionId,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_function` is never read
[INFO] [stdout]   --> src/rvsdg/to_cranelift.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct RvsdgToCranelift<'a> {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     current_function: Option<FunctionId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block_map` is never read
[INFO] [stdout]   --> src/rvsdg/to_cranelift.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct FunctionCompiler<'a, 'b> {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 73 |     block_map: FxHashMap<NodeId, Vec<Block>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_struct_id_from_ptr` is never used
[INFO] [stdout]    --> src/rvsdg/to_cranelift.rs:805:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl<'a, 'b> FunctionCompiler<'a, 'b> {
[INFO] [stdout]     | ------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 805 |     fn get_struct_id_from_ptr(&self, ptr_value_id: ValueId) -> color_eyre::Result<StructId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ast` and `arena` are never read
[INFO] [stdout]    --> src/type_checker/mod.rs:896:9
[INFO] [stdout]     |
[INFO] [stdout] 894 |     struct TypeCheckResult {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 895 |         errors: Vec<TypeCheckingError>,
[INFO] [stdout] 896 |         ast: Ast,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 897 |         arena: TypeArena,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.81s
[INFO] running `Command { std: "docker" "inspect" "6870a64302a33bad1202f3d4ee4b5194dcae37ad147de63498de426463a5e00d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6870a64302a33bad1202f3d4ee4b5194dcae37ad147de63498de426463a5e00d", kill_on_drop: false }`
[INFO] [stdout] 6870a64302a33bad1202f3d4ee4b5194dcae37ad147de63498de426463a5e00d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4f582e96d17a02854cd6eb32c675a803be7194f43e20aac57329f3a8ed026909
[INFO] running `Command { std: "docker" "start" "-a" "4f582e96d17a02854cd6eb32c675a803be7194f43e20aac57329f3a8ed026909", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `StructLayout` and `self`
[INFO] [stderr]  --> src/rvsdg/builder.rs:6:21
[INFO] [stderr]   |
[INFO] [stderr] 6 |     struct_layout::{self, StructLayout},
[INFO] [stderr]   |                     ^^^^  ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/types/mod.rs:313:44
[INFO] [stderr]     |
[INFO] [stderr] 312 | ...                   params: todo!(),
[INFO] [stderr]     |                               ------- any code following this expression is unreachable
[INFO] [stderr] 313 | ...                   param_symbols: todo!(),
[INFO] [stderr]     |                                      ^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cached_node`
[INFO] [stderr]    --> src/rvsdg/builder.rs:152:22
[INFO] [stderr]     |
[INFO] [stderr] 152 |         if let Some(&cached_node) = self.value_cache.get(&key) {
[INFO] [stderr]     |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached_node`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ty`
[INFO] [stderr]    --> src/rvsdg/builder.rs:431:13
[INFO] [stderr]     |
[INFO] [stderr] 431 |         let ty = value.node; // Placeholder - we'd need to track types properly
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/rvsdg/graphviz.rs:113:13
[INFO] [stderr]     |
[INFO] [stderr] 113 |             _ => ("white", "rounded"),
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/rvsdg/graphviz.rs:113:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |             NodeKind::Lambda { .. } | NodeKind::Gamma { .. } | NodeKind::Theta { .. } => {
[INFO] [stderr]     |             ------------------------------------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 103 |             NodeKind::Const { .. } => ("lightgreen", "filled,rounded"),
[INFO] [stderr]     |             ---------------------- matches some of the same values
[INFO] [stderr] 104 |             NodeKind::Binary { .. } | NodeKind::Unary { .. } => ("lightyellow", "filled,rounded"),
[INFO] [stderr]     |             ------------------------------------------------ matches some of the same values
[INFO] [stderr] 105 |             NodeKind::Call { .. } => ("orange", "filled,rounded"),
[INFO] [stderr]     |             --------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 113 |             _ => ("white", "rounded"),
[INFO] [stderr]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `outer_state`
[INFO] [stderr]   --> src/rvsdg/lower/theta.rs:48:13
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let outer_state = self.current_state;
[INFO] [stderr]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]    --> src/rvsdg/lower/mod.rs:458:31
[INFO] [stderr]     |
[INFO] [stderr] 458 |             Op::DoubleColon { left, right } => {
[INFO] [stderr]     |                               ^^^^ help: try ignoring the field: `left: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]    --> src/rvsdg/lower/mod.rs:458:37
[INFO] [stderr]     |
[INFO] [stderr] 458 |             Op::DoubleColon { left, right } => {
[INFO] [stderr]     |                                     ^^^^^ help: try ignoring the field: `right: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `call_conv`
[INFO] [stderr]    --> src/rvsdg/to_cranelift.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 201 |         call_conv: CallConv,
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_conv`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ty`
[INFO] [stderr]    --> src/rvsdg/to_cranelift.rs:777:31
[INFO] [stderr]     |
[INFO] [stderr] 777 |             NodeKind::Store { ty, inputs } => {
[INFO] [stderr]     |                               ^^ help: try ignoring the field: `ty: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fn_symbol_data`
[INFO] [stderr]    --> src/symbols/mod.rs:439:36
[INFO] [stderr]     |
[INFO] [stderr] 439 |                     SymbolKind::Fn(fn_symbol_data) => todo!(),
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_symbol_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fn_arg_symbol_data`
[INFO] [stderr]    --> src/symbols/mod.rs:440:39
[INFO] [stderr]     |
[INFO] [stderr] 440 |                     SymbolKind::FnArg(fn_arg_symbol_data) => todo!(),
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fn_arg_symbol_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var_symbol_data`
[INFO] [stderr]    --> src/symbols/mod.rs:441:37
[INFO] [stderr]     |
[INFO] [stderr] 441 |                     SymbolKind::Var(var_symbol_data) => todo!(),
[INFO] [stderr]     |                                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_symbol_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `enum_symbol_data`
[INFO] [stderr]    --> src/symbols/mod.rs:445:38
[INFO] [stderr]     |
[INFO] [stderr] 445 |                     SymbolKind::Enum(enum_symbol_data) => todo!(),
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enum_symbol_data`
[INFO] [stderr] 
[INFO] [stderr] warning: method `peek_n_token` is never used
[INFO] [stderr]   --> src/ast/mod.rs:63:8
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl Ast {
[INFO] [stderr]    | -------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 63 |     fn peek_n_token(&self, amount: usize) -> Option<&Token> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `StructFieldAddr` is never constructed
[INFO] [stderr]    --> src/rvsdg/mod.rs:631:5
[INFO] [stderr]     |
[INFO] [stderr] 627 | pub(crate) enum NodeKeyKind {
[INFO] [stderr]     |                 ----------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 631 |     StructFieldAddr { field: FieldId },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `NodeKeyKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `fb` and `region_id` are never read
[INFO] [stderr]   --> src/rvsdg/builder.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct RegionBuilder<'a> {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 57 |     fb: &'a mut FunctionBuilder<'a>,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 58 |     region_id: RegionId,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `current_function` is never read
[INFO] [stderr]   --> src/rvsdg/to_cranelift.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct RvsdgToCranelift<'a> {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     current_function: Option<FunctionId>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `block_map` is never read
[INFO] [stderr]   --> src/rvsdg/to_cranelift.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub struct FunctionCompiler<'a, 'b> {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 73 |     block_map: FxHashMap<NodeId, Vec<Block>>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_struct_id_from_ptr` is never used
[INFO] [stderr]    --> src/rvsdg/to_cranelift.rs:805:8
[INFO] [stderr]     |
[INFO] [stderr] 237 | impl<'a, 'b> FunctionCompiler<'a, 'b> {
[INFO] [stderr]     | ------------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 805 |     fn get_struct_id_from_ptr(&self, ptr_value_id: ValueId) -> color_eyre::Result<StructId> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `lang` (lib) generated 20 warnings (run `cargo fix --lib -p lang` to apply 12 suggestions)
[INFO] [stderr] warning: unused imports: `TokenKind`, `Token`, and `VarType`
[INFO] [stderr]   --> src/ast/ast_import.rs:71:20
[INFO] [stderr]    |
[INFO] [stderr] 71 |         ast::{Ast, VarType},
[INFO] [stderr]    |                    ^^^^^^^
[INFO] [stderr] 72 |         interner::{Interner, SharedInterner},
[INFO] [stderr] 73 |         lexer::{Lexer, Token, TokenKind},
[INFO] [stderr]    |                        ^^^^^  ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `pretty_assertions::assert_eq`
[INFO] [stderr]   --> src/ast/ast_import.rs:77:9
[INFO] [stderr]    |
[INFO] [stderr] 77 |     use pretty_assertions::assert_eq;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Token`
[INFO] [stderr]    --> src/ast/ast_struct.rs:156:24
[INFO] [stderr]     |
[INFO] [stderr] 156 |         lexer::{Lexer, Token, TokenKind},
[INFO] [stderr]     |                        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `StructLayout` and `self`
[INFO] [stderr]  --> src/rvsdg/builder.rs:6:21
[INFO] [stderr]   |
[INFO] [stderr] 6 |     struct_layout::{self, StructLayout},
[INFO] [stderr]   |                     ^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/rvsdg/optimize.rs:151:9
[INFO] [stderr]     |
[INFO] [stderr] 151 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/ast/ast_import.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let i = shared_interner.write();
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args_mapped`
[INFO] [stderr]   --> src/ast/ast_import.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |         let args_mapped = args
[INFO] [stderr]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_args_mapped`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ast/ast_struct.rs:179:13
[INFO] [stderr]     |
[INFO] [stderr] 179 |         let mut i = shared_interner.write();
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lexer/mod.rs:476:13
[INFO] [stderr]     |
[INFO] [stderr] 476 |         let mut i = shared_interner.write();
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/lexer/mod.rs:476:13
[INFO] [stderr]     |
[INFO] [stderr] 476 |         let mut i = shared_interner.write();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cached_node`
[INFO] [stderr]    --> src/rvsdg/builder.rs:152:22
[INFO] [stderr]     |
[INFO] [stderr] 152 |         if let Some(&cached_node) = self.value_cache.get(&key) {
[INFO] [stderr]     |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cached_node`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `ast` and `arena` are never read
[INFO] [stderr]    --> src/type_checker/mod.rs:896:9
[INFO] [stderr]     |
[INFO] [stderr] 894 |     struct TypeCheckResult {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] 895 |         errors: Vec<TypeCheckingError>,
[INFO] [stderr] 896 |         ast: Ast,
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 897 |         arena: TypeArena,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `lang` (lib test) generated 30 warnings (18 duplicates) (run `cargo fix --lib -p lang --tests` to apply 11 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lang-a11868d7ef24617f)
[INFO] [stdout] 
[INFO] [stdout] running 275 tests
[INFO] [stdout] test ast::ast_enum::test::basic_enum ... ok
[INFO] [stdout] test ast::ast_enum::test::enum_with_struct ... ok
[INFO] [stdout] test ast::ast_expr::array::test::access_with_identifier ... ok
[INFO] [stdout] test ast::ast_expr::array::test::access_with_expression ... ok
[INFO] [stdout] test ast::ast_expr::array::test::array_init_then_access ... ok
[INFO] [stdout] test ast::ast_enum::test::enum_with_enum ... ok
[INFO] [stdout] test ast::ast_expr::array::test::array_with_expressions ... ok
[INFO] [stdout] test ast::ast_expr::array::test::array_trailing_comma ... ok
[INFO] [stdout] test ast::ast_expr::array::test::empty_array ... ok
[INFO] [stdout] test ast::ast_expr::array::test::multiple_elements ... ok
[INFO] [stdout] test ast::ast_expr::func::test::fn_call ... ok
[INFO] [stdout] test ast::ast_expr::array::test::nested_arrays ... ok
[INFO] [stdout] test ast::ast_expr::func::test::fn_call_multi_param ... ok
[INFO] [stdout] test ast::ast_expr::array::test::single_element_array ... ok
[INFO] [stdout] test ast::ast_expr::array::test::simple_access ... ok
[INFO] [stdout] test ast::ast_expr::func::test::nested_fn_calls ... ok
[INFO] [stdout] test ast::ast_expr::array::test::chained_access ... ok
[INFO] [stdout] test ast::ast_expr::array::test::array_access_in_arithmetic ... ok
[INFO] [stdout] test ast::ast_expr::array::test::struct_field_array_access ... ok
[INFO] [stdout] test ast::ast_enum::test::enum_with_basic_union ... ok
[INFO] [stdout] test ast::ast_expr::array::test::function_return_array_access ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_identifier_then_block_not_struct ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_as_function_argument ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_in_arithmetic ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_else_basic ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_in_array_literal ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_array_access_comparison ... ok
[INFO] [stdout] test ast::ast_expr::array::test::array_with_identifiers ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_array_literal_in_condition ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_array_access_condition ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_arithmetic_in_condition ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_else_if_chain ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_chained_comparison ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_chained_method_call ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_chained_dot_access ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_function_call_condition ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_dot_access_condition ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_explicit_struct_in_parens ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_comparison ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_negation ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_identifier_condition ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_nested_blocks ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_parenthesized_condition ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_multiple_statements_in_block ... ok
[INFO] [stdout] test ast::ast_expr::struct_create::test::struct_create_chained_with_dot ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_struct_field_comparison ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::simple_if_with_bool ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_reference ... ok
[INFO] [stdout] test ast::ast_expr::struct_create::test::struct_create_empty ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_function_call_with_args ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_eq ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::if_with_empty_array_in_condition ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::nested_if_expressions ... ok
[INFO] [stdout] test ast::ast_expr::struct_create::test::struct_create_multiple_fields ... ok
[INFO] [stdout] test ast::ast_expr::struct_create::test::struct_create_nested ... ok
[INFO] [stdout] test ast::ast_expr::struct_create::test::struct_create_trailing_comma ... ok
[INFO] [stdout] test ast::ast_expr::test::array_of_function_results ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_all_comparisons_same ... ok
[INFO] [stdout] test ast::ast_expr::struct_create::test::struct_create_single_field ... ok
[INFO] [stdout] test ast::ast_expr::struct_create::test::struct_create_with_expressions ... ok
[INFO] [stdout] test ast::ast_expr::test::all_binary_operators_mixed ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_mul_over_add ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_dot_same_as_postfix ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_add_left_assoc ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_call_same_as_dot ... ok
[INFO] [stdout] test ast::ast_expr::test::basic_expr ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_mul_left_assoc ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_comparison_same_precedence ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_postfix_over_prefix ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_complex_expression ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_comparison_over_arithmetic ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_prefix_over_infix ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_prefix_over_mul ... ok
[INFO] [stdout] test ast::ast_expr::test::chained_dots ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_ref_over_dot ... ok
[INFO] [stdout] test ast::ast_expr::test::chained_double_colons ... ok
[INFO] [stdout] test ast::ast_expr::test::binding_div_over_sub ... ok
[INFO] [stdout] test ast::ast_expr::test::comparison_of_comparisons ... ok
[INFO] [stdout] test ast::ast_expr::test::complex_postfix_chain ... ok
[INFO] [stdout] test ast::ast_expr::test::block_in_arithmetic ... ok
[INFO] [stdout] test ast::ast_expr::test::deeply_nested_field_access ... ok
[INFO] [stdout] test ast::ast_expr::test::block_as_function_argument ... ok
[INFO] [stdout] test ast::ast_expr::test::deeply_nested_parens ... ok
[INFO] [stdout] test ast::ast_expr::test::bracketed ... ok
[INFO] [stdout] test ast::ast_expr::test::complex_parens_with_multiple_operators ... ok
[INFO] [stdout] test ast::ast_expr::test::double_negation ... ok
[INFO] [stdout] test ast::ast_expr::test::double_negation_in_expression ... ok
[INFO] [stdout] test ast::ast_expr::test::deeply_nested_function_calls ... ok
[INFO] [stdout] test ast::ast_expr::test::division_left_assoc ... ok
[INFO] [stdout] test ast::ast_expr::test::empty_function_call ... ok
[INFO] [stdout] test ast::ast_expr::test::equivalence ... ok
[INFO] [stdout] test ast::ast_expr::test::chained_greater_than ... ok
[INFO] [stdout] test ast::ast_expr::test::greater_than_basic ... ok
[INFO] [stdout] test ast::ast_expr::test::greater_than_eq_basic ... ok
[INFO] [stdout] test ast::ast_expr::test::function_with_complex_args ... ok
[INFO] [stdout] test ast::ast_expr::test::just_identifier ... ok
[INFO] [stdout] test ast::ast_expr::test::just_integer ... ok
[INFO] [stdout] test ast::ast_expr::test::just_true ... ok
[INFO] [stdout] test ast::ast_expr::test::greater_than_with_arithmetic ... ok
[INFO] [stdout] test ast::ast_expr::test::mixed_call_index_dot ... ok
[INFO] [stdout] test ast::ast_expr::test::multi_squared_brackets ... ok
[INFO] [stdout] test ast::ast_expr::test::negation_of_negation_multiply ... ok
[INFO] [stdout] test ast::ast_expr::test::negation_of_reference ... ok
[INFO] [stdout] test ast::ast_expr::test::less_than ... ok
[INFO] [stdout] test ast::ast_expr::test::parens_override_precedence ... ok
[INFO] [stdout] test ast::ast_expr::test::just_false ... ok
[INFO] [stdout] test ast::ast_expr::test::mixed_mul_div_left_assoc ... ok
[INFO] [stdout] test ast::ast_expr::test::not_equivalence ... ok
[INFO] [stdout] test ast::ast_expr::test::mixed_add_sub_left_assoc ... ok
[INFO] [stdout] test ast::ast_expr::test::parens_with_division ... ok
[INFO] [stdout] test ast::ast_expr::test::nested_blocks ... ok
[INFO] [stdout] test ast::ast_expr::test::reference_of_negation ... ok
[INFO] [stdout] test ast::ast_expr::test::squared_brackets ... ok
[INFO] [stdout] test ast::ast_expr::test::reference_in_arithmetic ... ok
[INFO] [stdout] test ast::ast_expr::test::string_and_cstr_literals ... ok
[INFO] [stdout] test ast::ast_expr::test::unary_negation ... ok
[INFO] [stdout] test ast::ast_expr::test::prefix_and_postfix_together ... ok
[INFO] [stdout] test ast::ast_struct::test::basic_struct ... ok
[INFO] [stdout] test ast::ast_expr::test::unary_not ... ok
[INFO] [stdout] test lexer::test::basic_lexing ... ok
[INFO] [stdout] test ast::ast_expr::test::reference_of_expression ... ok
[INFO] [stdout] test ast::ast_expr::test::precedence_mixed ... ok
[INFO] [stdout] test ast::ast_import::test::basic_fn_params ... ok
[INFO] [stdout] test ast::ast_expr::test::subtraction_left_assoc ... ok
[INFO] [stdout] test ast::ast_expr::test::triple_negation ... ok
[INFO] [stdout] test lexer::test::keyword_no_space ... ok
[INFO] [stdout] test struct_layout::dfs::tests::complex_dag ... ok
[INFO] [stdout] test rvsdg::optimize::tests::test_dce_removes_unused_const ... ok
[INFO] [stdout] test struct_layout::dfs::tests::cycle_with_independent_nodes ... ok
[INFO] [stdout] test struct_layout::dfs::tests::dag_with_back_references ... ok
[INFO] [stdout] test struct_layout::dfs::tests::diamond_pattern ... ok
[INFO] [stdout] test struct_layout::dfs::tests::empty_graph ... ok
[INFO] [stdout] test struct_layout::dfs::tests::independent_nodes ... ok
[INFO] [stdout] test struct_layout::dfs::tests::linear_chain ... ok
[INFO] [stdout] test struct_layout::dfs::tests::partial_cycle ... ok
[INFO] [stdout] test struct_layout::dfs::tests::multiple_roots ... ok
[INFO] [stdout] test struct_layout::dfs::tests::self_loop ... ok
[INFO] [stdout] test struct_layout::dfs::tests::simple_cycle ... ok
[INFO] [stdout] test struct_layout::dfs::tests::single_node ... ok
[INFO] [stdout] test type_checker::test::test_arithmetic_with_function_result ... ok
[INFO] [stdout] test type_checker::test::test_arithmetic_with_variables ... ok
[INFO] [stdout] test type_checker::test::test_array_init_empty ... ok
[INFO] [stdout] test type_checker::test::test_assignment_incompatible_int_to_bool ... ok
[INFO] [stdout] test type_checker::test::test_assignment_incompatible_bool_to_int ... ok
[INFO] [stdout] test type_checker::test::test_array_init_heterogeneous ... ok
[INFO] [stdout] test type_checker::test::test_array_init_homogeneous_bools ... ok
[INFO] [stdout] test type_checker::test::test_block_in_arithmetic ... ok
[INFO] [stdout] test type_checker::test::test_array_mixed_expr_types ... ok
[INFO] [stdout] test type_checker::test::test_array_with_function_results ... ok
[INFO] [stdout] test type_checker::test::test_assignment_compatible_type ... ok
[INFO] [stdout] test type_checker::test::test_assignment_arithmetic_result ... ok
[INFO] [stdout] test type_checker::test::test_block_return_matching ... ok
[INFO] [stdout] test type_checker::test::test_block_multiple_statements ... ok
[INFO] [stdout] test type_checker::test::test_assignment_function_result ... ok
[INFO] [stdout] test type_checker::test::test_array_init_homogeneous_ints ... ok
[INFO] [stdout] test type_checker::test::test_assignment_to_if_result ... ok
[INFO] [stdout] test type_checker::test::test_array_with_expressions ... ok
[INFO] [stdout] test type_checker::test::test_block_return_mismatched ... ok
[INFO] [stdout] test type_checker::test::test_block_single_statement ... ok
[INFO] [stdout] test type_checker::test::test_boolean_expression ... ok
[INFO] [stdout] test type_checker::test::test_call_variable_not_function ... ok
[INFO] [stdout] test type_checker::test::test_break_outside_while ... ok
[INFO] [stdout] test type_checker::test::test_block_with_return_value ... ok
[INFO] [stdout] test type_checker::test::test_break_inside_while ... ok
[INFO] [stdout] test ast::ast_expr::if_expr::test::multiple_else_if_no_final_else ... ok
[INFO] [stdout] test type_checker::test::test_comparison_complex_left ... ok
[INFO] [stdout] test type_checker::test::test_chained_comparisons ... ok
[INFO] [stdout] test type_checker::test::test_comparison_both_function_calls ... ok
[INFO] [stdout] test type_checker::test::test_complex_arithmetic_chain ... ok
[INFO] [stdout] test type_checker::test::test_comparison_complex_right ... ok
[INFO] [stdout] test type_checker::test::test_complex_boolean_expression ... ok
[INFO] [stdout] test type_checker::test::test_comparison_with_expressions ... ok
[INFO] [stdout] test type_checker::test::test_deeply_nested_arithmetic ... ok
[INFO] [stdout] test type_checker::test::test_break_inside_nested_while ... ok
[INFO] [stdout] test type_checker::test::test_comparison_with_function_call ... ok
[INFO] [stdout] test type_checker::test::test_division_valid ... ok
[INFO] [stdout] test type_checker::test::test_double_negation ... ok
[INFO] [stdout] test type_checker::test::test_division_left_string ... ok
[INFO] [stdout] test type_checker::test::test_function_call_result_in_expr ... ok
[INFO] [stdout] test type_checker::test::test_explicit_return_mismatched ... ok
[INFO] [stdout] test type_checker::test::test_empty_struct ... ok
[INFO] [stdout] test type_checker::test::test_early_return_wrong_type ... ok
[INFO] [stdout] test type_checker::test::test_explicit_return_matching ... ok
[INFO] [stdout] test type_checker::test::test_empty_block ... ok
[INFO] [stdout] test type_checker::test::test_field_access_on_non_struct ... ok
[INFO] [stdout] test type_checker::test::test_comparison_with_variables ... ok
[INFO] [stdout] test type_checker::test::test_function_calling_function ... ok
[INFO] [stdout] test type_checker::test::test_complex_nested_expression ... ok
[INFO] [stdout] test type_checker::test::test_deep_nesting ... ok
[INFO] [stdout] test type_checker::test::test_function_no_args ... ok
[INFO] [stdout] test type_checker::test::test_function_multiple_wrong_args ... ok
[INFO] [stdout] test type_checker::test::test_function_wrong_arg_count ... ok
[INFO] [stdout] test type_checker::test::test_greater_than_eq_mixed ... ok
[INFO] [stdout] test type_checker::test::test_greater_than_both_bool ... ok
[INFO] [stdout] test type_checker::test::test_function_wrong_first_arg ... ok
[INFO] [stdout] test type_checker::test::test_function_too_many_args ... ok
[INFO] [stdout] test type_checker::test::test_function_wrong_second_arg ... ok
[INFO] [stdout] test type_checker::test::test_function_wrong_middle_arg ... ok
[INFO] [stdout] test type_checker::test::test_greater_than_valid ... ok
[INFO] [stdout] test type_checker::test::test_if_else_if_non_bool_condition ... ok
[INFO] [stdout] test type_checker::test::test_if_non_bool_condition ... ok
[INFO] [stdout] test type_checker::test::test_if_else_type_mismatch_bool_int ... ok
[INFO] [stdout] test type_checker::test::test_if_else_matching_types ... ok
[INFO] [stdout] test type_checker::test::test_if_only_else_if_no_final_else ... ok
[INFO] [stdout] test type_checker::test::test_if_comparison_condition ... ok
[INFO] [stdout] test type_checker::test::test_greater_than_eq_valid ... ok
[INFO] [stdout] test type_checker::test::test_if_bool_literal ... ok
[INFO] [stdout] test type_checker::test::test_if_as_function_arg ... ok
[INFO] [stdout] test type_checker::test::test_if_in_arithmetic ... ok
[INFO] [stdout] test type_checker::test::test_function_with_struct_param ... ok
[INFO] [stdout] test type_checker::test::test_function_three_args ... ok
[INFO] [stdout] test type_checker::test::test_function_returning_struct ... ok
[INFO] [stdout] test type_checker::test::test_if_string_condition ... ok
[INFO] [stdout] test type_checker::test::test_less_than_eq_valid ... ok
[INFO] [stdout] test type_checker::test::test_if_without_else ... ok
[INFO] [stdout] test type_checker::test::test_less_than_left_bool ... ok
[INFO] [stdout] test type_checker::test::test_less_than_eq_mixed ... ok
[INFO] [stdout] test type_checker::test::test_less_than_right_bool ... ok
[INFO] [stdout] test type_checker::test::test_if_with_block_body ... ok
[INFO] [stdout] test type_checker::test::test_mixed_type_arithmetic ... ok
[INFO] [stdout] test type_checker::test::test_multiple_else_if_matching ... ok
[INFO] [stdout] test type_checker::test::test_multiplication_valid ... ok
[INFO] [stdout] test type_checker::test::test_negation_on_int ... ok
[INFO] [stdout] test type_checker::test::test_negation_on_expression ... ok
[INFO] [stdout] test type_checker::test::test_multiple_var_decls ... ok
[INFO] [stdout] test type_checker::test::test_mixed_control_flow ... ok
[INFO] [stdout] test type_checker::test::test_multiplication_right_bool ... ok
[INFO] [stdout] test type_checker::test::test_nested_arithmetic ... ok
[INFO] [stdout] test type_checker::test::test_multiple_assignments ... ok
[INFO] [stdout] test type_checker::test::test_negation_on_bool ... ok
[INFO] [stdout] test type_checker::test::test_negation_on_string ... ok
[INFO] [stdout] test type_checker::test::test_less_than_valid ... ok
[INFO] [stdout] test type_checker::test::test_multiple_else_if_mismatched ... ok
[INFO] [stdout] test type_checker::test::test_nested_blocks ... ok
[INFO] [stdout] test type_checker::test::test_nested_arrays ... ok
[INFO] [stdout] test type_checker::test::test_if_else_branch_mismatch ... ok
[INFO] [stdout] test type_checker::test::test_nested_reference ... ok
[INFO] [stdout] test type_checker::test::test_multiple_function_calls_in_expr ... ok
[INFO] [stdout] test type_checker::test::test_nested_function_calls ... ok
[INFO] [stdout] test type_checker::test::test_multiple_errors_in_function ... ok
[INFO] [stdout] test type_checker::test::test_nested_struct_field_access ... ok
[INFO] [stdout] test type_checker::test::test_nested_if_expressions ... ok
[INFO] [stdout] test type_checker::test::test_reassignment_same_type ... ok
[INFO] [stdout] test type_checker::test::test_reference_on_int ... ok
[INFO] [stdout] test type_checker::test::test_multiple_returns_all_matching ... ok
[INFO] [stdout] test type_checker::test::test_reference_in_arithmetic ... ok
[INFO] [stdout] test type_checker::test::test_simple_addition ... ok
[INFO] [stdout] test type_checker::test::test_return_in_else_branch ... ok
[INFO] [stdout] test type_checker::test::test_reference_on_bool ... ok
[INFO] [stdout] test type_checker::test::test_return_with_expression ... ok
[INFO] [stdout] test type_checker::test::test_return_in_if_branch ... ok
[INFO] [stdout] test type_checker::test::test_return_in_nested_block ... ok
[INFO] [stdout] test type_checker::test::test_struct_creation_all_fields ... ok
[INFO] [stdout] test type_checker::test::test_struct_creation_missing_field ... ok
[INFO] [stdout] test type_checker::test::test_struct_creation_extra_field ... ok
[INFO] [stdout] test type_checker::test::test_struct_as_function_param ... ok
[INFO] [stdout] test type_checker::test::test_struct_creation_wrong_field_type ... ok
[INFO] [stdout] test type_checker::test::test_subtraction_both_sides_wrong ... ok
[INFO] [stdout] test type_checker::test::test_triple_negation ... ok
[INFO] [stdout] test type_checker::test::test_struct_field_in_arithmetic ... ok
[INFO] [stdout] test type_checker::test::test_var_decl_int ... ok
[INFO] [stdout] test type_checker::test::test_struct_creation_duplicate_field ... ok
[INFO] [stdout] test type_checker::test::test_subtraction_left_bool ... ok
[INFO] [stdout] test type_checker::test::test_struct_field_access ... ok
[INFO] [stdout] test type_checker::test::test_var_decl_bool ... ok
[INFO] [stdout] test type_checker::test::test_var_decl_complex_expr ... ok
[INFO] [stdout] test type_checker::test::test_while_bool_condition ... ok
[INFO] [stdout] test type_checker::test::test_var_decl_with_arithmetic ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lang-1d3d6503a9c7411d)
[INFO] [stdout] test type_checker::test::test_while_int_condition ... ok
[INFO] [stdout] test type_checker::test::test_while_comparison_condition ... ok
[INFO] [stdout] test type_checker::test::test_while_empty_body ... ok
[INFO] [stdout] test type_checker::test::test_while_with_body ... ok
[INFO] [stdout] test type_checker::test::test_subtraction_valid ... ok
[INFO] [stdout] test type_checker::test::test_var_decl_with_function_call ... ok
[INFO] [stdout] test type_checker::test::test_program_with_multiple_functions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 275 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/example_dir_test.rs (/opt/rustwide/target/debug/deps/example_dir_test-fa8414c207fe2237)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test compile_example_add ... FAILED
[INFO] [stdout] test compile_example_cat ... FAILED
[INFO] [stdout] test compile_example_hello ... FAILED
[INFO] [stdout] test compile_example_fn_add ... FAILED
[INFO] [stdout] test compile_example_yes ... FAILED
[INFO] [stdout] test compile_example_fib ... FAILED
[INFO] [stdout] test compile_example_while ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- compile_example_add stdout ----
[INFO] [stdout] [src/ast/ast_expr/mod.rs:128:9] &self = Ast {
[INFO] [stdout]     errs: [],
[INFO] [stdout]     imports: [],
[INFO] [stdout]     fns: [],
[INFO] [stdout]     extern_fns: [],
[INFO] [stdout]     enums: [],
[INFO] [stdout]     structs: [],
[INFO] [stdout]     tokens: [
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 0,
[INFO] [stdout]                 end: 6,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ImportKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 7,
[INFO] [stdout]                 end: 8,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 9,
[INFO] [stdout]                 end: 10,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 12,
[INFO] [stdout]                 end: 14,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 15,
[INFO] [stdout]                 end: 19,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 19,
[INFO] [stdout]                 end: 20,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 20,
[INFO] [stdout]                 end: 21,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 22,
[INFO] [stdout]                 end: 25,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 26,
[INFO] [stdout]                 end: 27,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 32,
[INFO] [stdout]                 end: 35,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 36,
[INFO] [stdout]                 end: 39,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 40,
[INFO] [stdout]                 end: 41,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 42,
[INFO] [stdout]                 end: 43,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 5,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 43,
[INFO] [stdout]                 end: 44,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 49,
[INFO] [stdout]                 end: 52,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 53,
[INFO] [stdout]                 end: 56,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 57,
[INFO] [stdout]                 end: 58,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 59,
[INFO] [stdout]                 end: 60,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 2,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 61,
[INFO] [stdout]                 end: 62,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Add,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 63,
[INFO] [stdout]                 end: 66,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 66,
[INFO] [stdout]                 end: 67,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 72,
[INFO] [stdout]                 end: 73,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 74,
[INFO] [stdout]                 end: 75,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     next_token_i: 13,
[INFO] [stdout]     interner: RwLock {
[INFO] [stdout]         data: Interner {
[INFO] [stdout]             map: {
[INFO] [stdout]                 "Int": IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "foo": IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "main": IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "bar": IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             },
[INFO] [stdout]             vec: [
[INFO] [stdout]                 "main",
[INFO] [stdout]                 "Int",
[INFO] [stdout]                 "foo",
[INFO] [stdout]                 "bar",
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/ast/ast_expr/mod.rs:128:9] &self = Ast {
[INFO] [stdout]     errs: [],
[INFO] [stdout]     imports: [],
[INFO] [stdout]     fns: [],
[INFO] [stdout]     extern_fns: [],
[INFO] [stdout]     enums: [],
[INFO] [stdout]     structs: [],
[INFO] [stdout]     tokens: [
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 0,
[INFO] [stdout]                 end: 6,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ImportKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 7,
[INFO] [stdout]                 end: 8,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 9,
[INFO] [stdout]                 end: 10,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 12,
[INFO] [stdout]                 end: 14,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 15,
[INFO] [stdout]                 end: 19,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 19,
[INFO] [stdout]                 end: 20,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 20,
[INFO] [stdout]                 end: 21,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 22,
[INFO] [stdout]                 end: 25,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 26,
[INFO] [stdout]                 end: 27,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 32,
[INFO] [stdout]                 end: 35,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 36,
[INFO] [stdout]                 end: 39,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 40,
[INFO] [stdout]                 end: 41,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 42,
[INFO] [stdout]                 end: 43,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 5,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 43,
[INFO] [stdout]                 end: 44,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 49,
[INFO] [stdout]                 end: 52,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 53,
[INFO] [stdout]                 end: 56,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 57,
[INFO] [stdout]                 end: 58,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 59,
[INFO] [stdout]                 end: 60,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 2,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 61,
[INFO] [stdout]                 end: 62,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Add,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 63,
[INFO] [stdout]                 end: 66,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 66,
[INFO] [stdout]                 end: 67,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 72,
[INFO] [stdout]                 end: 73,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 74,
[INFO] [stdout]                 end: 75,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     next_token_i: 18,
[INFO] [stdout]     interner: RwLock {
[INFO] [stdout]         data: Interner {
[INFO] [stdout]             map: {
[INFO] [stdout]                 "Int": IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "foo": IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "main": IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "bar": IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             },
[INFO] [stdout]             vec: [
[INFO] [stdout]                 "main",
[INFO] [stdout]                 "Int",
[INFO] [stdout]                 "foo",
[INFO] [stdout]                 "bar",
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/ast/ast_expr/mod.rs:128:9] &self = Ast {
[INFO] [stdout]     errs: [],
[INFO] [stdout]     imports: [],
[INFO] [stdout]     fns: [],
[INFO] [stdout]     extern_fns: [],
[INFO] [stdout]     enums: [],
[INFO] [stdout]     structs: [],
[INFO] [stdout]     tokens: [
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 0,
[INFO] [stdout]                 end: 6,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ImportKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 7,
[INFO] [stdout]                 end: 8,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 9,
[INFO] [stdout]                 end: 10,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 12,
[INFO] [stdout]                 end: 14,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 15,
[INFO] [stdout]                 end: 19,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 19,
[INFO] [stdout]                 end: 20,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 20,
[INFO] [stdout]                 end: 21,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 22,
[INFO] [stdout]                 end: 25,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 26,
[INFO] [stdout]                 end: 27,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 32,
[INFO] [stdout]                 end: 35,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 36,
[INFO] [stdout]                 end: 39,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 40,
[INFO] [stdout]                 end: 41,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 42,
[INFO] [stdout]                 end: 43,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 5,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 43,
[INFO] [stdout]                 end: 44,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 49,
[INFO] [stdout]                 end: 52,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 53,
[INFO] [stdout]                 end: 56,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 57,
[INFO] [stdout]                 end: 58,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 59,
[INFO] [stdout]                 end: 60,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 2,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 61,
[INFO] [stdout]                 end: 62,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Add,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 63,
[INFO] [stdout]                 end: 66,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 66,
[INFO] [stdout]                 end: 67,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 72,
[INFO] [stdout]                 end: 73,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 74,
[INFO] [stdout]                 end: 75,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     next_token_i: 20,
[INFO] [stdout]     interner: RwLock {
[INFO] [stdout]         data: Interner {
[INFO] [stdout]             map: {
[INFO] [stdout]                 "Int": IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "foo": IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "main": IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "bar": IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             },
[INFO] [stdout]             vec: [
[INFO] [stdout]                 "main",
[INFO] [stdout]                 "Int",
[INFO] [stdout]                 "foo",
[INFO] [stdout]                 "bar",
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/ast/ast_expr/mod.rs:128:9] &self = Ast {
[INFO] [stdout]     errs: [],
[INFO] [stdout]     imports: [],
[INFO] [stdout]     fns: [],
[INFO] [stdout]     extern_fns: [],
[INFO] [stdout]     enums: [],
[INFO] [stdout]     structs: [],
[INFO] [stdout]     tokens: [
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 0,
[INFO] [stdout]                 end: 6,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ImportKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 7,
[INFO] [stdout]                 end: 8,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 9,
[INFO] [stdout]                 end: 10,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 12,
[INFO] [stdout]                 end: 14,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 15,
[INFO] [stdout]                 end: 19,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 19,
[INFO] [stdout]                 end: 20,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 20,
[INFO] [stdout]                 end: 21,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 22,
[INFO] [stdout]                 end: 25,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 26,
[INFO] [stdout]                 end: 27,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 32,
[INFO] [stdout]                 end: 35,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 36,
[INFO] [stdout]                 end: 39,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 40,
[INFO] [stdout]                 end: 41,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 42,
[INFO] [stdout]                 end: 43,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 5,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 43,
[INFO] [stdout]                 end: 44,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 49,
[INFO] [stdout]                 end: 52,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 53,
[INFO] [stdout]                 end: 56,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 57,
[INFO] [stdout]                 end: 58,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 59,
[INFO] [stdout]                 end: 60,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 2,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 61,
[INFO] [stdout]                 end: 62,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Add,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 63,
[INFO] [stdout]                 end: 66,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 66,
[INFO] [stdout]                 end: 67,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 72,
[INFO] [stdout]                 end: 73,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 74,
[INFO] [stdout]                 end: 75,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     next_token_i: 22,
[INFO] [stdout]     interner: RwLock {
[INFO] [stdout]         data: Interner {
[INFO] [stdout]             map: {
[INFO] [stdout]                 "Int": IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "foo": IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "main": IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "bar": IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             },
[INFO] [stdout]             vec: [
[INFO] [stdout]                 "main",
[INFO] [stdout]                 "Int",
[INFO] [stdout]                 "foo",
[INFO] [stdout]                 "bar",
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] RVSDG module created with 1 functions
[INFO] [stdout] 
[INFO] [stdout] thread 'compile_example_add' (302) panicked at src/lib.rs:181:45:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x599ae9fbd652 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x599ae9fbd652 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x599ae9fbd652 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x599ae9fbd652 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x599ae9fd405a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x599ae9fd405a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x599ae9fc2c26 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x599ae9fc2c26 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x599ae9f9a5df - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x599ae9f9a5df - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x599ae9fb53f9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x599ae969288e - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x599ae969288e - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x599ae9fb55b2 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x599ae9fb55b2 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x599ae9f9a698 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x599ae9f91929 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x599ae9f9b5dd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x599ae9fd47cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x599ae9fd4512 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x599ae9714fea - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::fs::File, std[716c9a7a72e5c14e]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x599ae9714fea - <lang[39c30b838fbd0811]::ModParser>::parse_file_with_config
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:181:45
[INFO] [stdout]   22:     0x599ae9710d78 - <lang[39c30b838fbd0811]::ModParser>::parse_file
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:65:9
[INFO] [stdout]   23:     0x599ae9684ab8 - example_dir_test[2a47d50f1dfca145]::compile_example
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/example_dir_test.rs:14:5
[INFO] [stdout]   24:     0x599ae968452f - example_dir_test[2a47d50f1dfca145]::compile_example_add::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/example_dir_test.rs:20:5
[INFO] [stdout]   25:     0x599ae9686a7e - <example_dir_test[2a47d50f1dfca145]::compile_example_add::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x599ae96d3f6e - serial_test[4eb20097f5b6883]::serial_code_lock::local_serial_core
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serial_test-3.2.0/src/serial_code_lock.rs:36:5
[INFO] [stdout]   27:     0x599ae9684bba - example_dir_test[2a47d50f1dfca145]::compile_example_add
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/example_dir_test.rs:18:1
[INFO] [stdout]   28:     0x599ae96843d7 - example_dir_test[2a47d50f1dfca145]::compile_example_add::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/example_dir_test.rs:19:25
[INFO] [stdout]   29:     0x599ae96868c6 - <example_dir_test[2a47d50f1dfca145]::compile_example_add::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x599ae9686c3b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x599ae9686c3b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x599ae969349a - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x599ae969349a - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   34:     0x599ae969349a - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x599ae969349a - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x599ae969349a - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x599ae969349a - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x599ae969349a - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x599ae968d964 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x599ae968d964 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x599ae9695f92 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x599ae9695f92 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   43:     0x599ae9695f92 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x599ae9695f92 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x599ae9695f92 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x599ae9695f92 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x599ae9695f92 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x599ae9fbcb2f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   49:     0x599ae9fbcb2f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   50:     0x7ae892830aa4 - <unknown>
[INFO] [stdout]   51:     0x7ae8928bda64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- compile_example_cat stdout ----
[INFO] [stdout] [src/ast/ast_expr/mod.rs:128:9] &self = Ast {
[INFO] [stdout]     errs: [],
[INFO] [stdout]     imports: [],
[INFO] [stdout]     fns: [],
[INFO] [stdout]     extern_fns: [
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 6,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         1,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         0,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 48,
[INFO] [stdout]                 end: 51,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 15,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 4,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 3,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         2,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Ref(
[INFO] [stdout]                 CStr,
[INFO] [stdout]             ),
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 77,
[INFO] [stdout]                 end: 82,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 24,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 6,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 6,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         7,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         4,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         8,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 126,
[INFO] [stdout]                 end: 129,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 37,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 9,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 10,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         7,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         8,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         9,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 180,
[INFO] [stdout]                 end: 183,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 53,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 13,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 13,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 221,
[INFO] [stdout]                 end: 224,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 65,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 14,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 18,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         14,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         16,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         17,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         16,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         17,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 301,
[INFO] [stdout]                 end: 304,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 83,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 18,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 22,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         19,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         20,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         21,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 353,
[INFO] [stdout]                 end: 356,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     enums: [],
[INFO] [stdout]     structs: [],
[INFO] [stdout]     tokens: [
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 0,
[INFO] [stdout]                 end: 6,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ImportKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 7,
[INFO] [stdout]                 end: 8,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 9,
[INFO] [stdout]                 end: 10,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 12,
[INFO] [stdout]                 end: 18,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ExternKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 19,
[INFO] [stdout]                 end: 21,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Str(
[INFO] [stdout]                 "C",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 23,
[INFO] [stdout]                 end: 24,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 29,
[INFO] [stdout]                 end: 31,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 32,
[INFO] [stdout]                 end: 36,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 36,
[INFO] [stdout]                 end: 37,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 37,
[INFO] [stdout]                 end: 40,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 41,
[INFO] [stdout]                 end: 42,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 42,
[INFO] [stdout]                 end: 46,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 46,
[INFO] [stdout]                 end: 47,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 48,
[INFO] [stdout]                 end: 51,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 51,
[INFO] [stdout]                 end: 52,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 57,
[INFO] [stdout]                 end: 59,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 60,
[INFO] [stdout]                 end: 66,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 66,
[INFO] [stdout]                 end: 67,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 67,
[INFO] [stdout]                 end: 71,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 72,
[INFO] [stdout]                 end: 75,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 75,
[INFO] [stdout]                 end: 76,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 77,
[INFO] [stdout]                 end: 78,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 78,
[INFO] [stdout]                 end: 82,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 82,
[INFO] [stdout]                 end: 83,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 88,
[INFO] [stdout]                 end: 90,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 91,
[INFO] [stdout]                 end: 96,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 96,
[INFO] [stdout]                 end: 97,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 97,
[INFO] [stdout]                 end: 106,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 107,
[INFO] [stdout]                 end: 108,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 108,
[INFO] [stdout]                 end: 112,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 112,
[INFO] [stdout]                 end: 113,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 114,
[INFO] [stdout]                 end: 118,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     8,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 119,
[INFO] [stdout]                 end: 120,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 120,
[INFO] [stdout]                 end: 124,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 124,
[INFO] [stdout]                 end: 125,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 126,
[INFO] [stdout]                 end: 129,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 129,
[INFO] [stdout]                 end: 130,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 135,
[INFO] [stdout]                 end: 137,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 138,
[INFO] [stdout]                 end: 145,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 145,
[INFO] [stdout]                 end: 146,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 146,
[INFO] [stdout]                 end: 150,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 151,
[INFO] [stdout]                 end: 154,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 154,
[INFO] [stdout]                 end: 155,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 156,
[INFO] [stdout]                 end: 159,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 160,
[INFO] [stdout]                 end: 161,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 161,
[INFO] [stdout]                 end: 165,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 165,
[INFO] [stdout]                 end: 166,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 167,
[INFO] [stdout]                 end: 172,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 173,
[INFO] [stdout]                 end: 174,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 174,
[INFO] [stdout]                 end: 178,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 178,
[INFO] [stdout]                 end: 179,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 180,
[INFO] [stdout]                 end: 183,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 183,
[INFO] [stdout]                 end: 184,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 189,
[INFO] [stdout]                 end: 191,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 192,
[INFO] [stdout]                 end: 198,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     13,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 198,
[INFO] [stdout]                 end: 199,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 199,
[INFO] [stdout]                 end: 202,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 203,
[INFO] [stdout]                 end: 204,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 204,
[INFO] [stdout]                 end: 208,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 208,
[INFO] [stdout]                 end: 209,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 210,
[INFO] [stdout]                 end: 215,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 216,
[INFO] [stdout]                 end: 219,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 219,
[INFO] [stdout]                 end: 220,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 221,
[INFO] [stdout]                 end: 224,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 224,
[INFO] [stdout]                 end: 225,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 230,
[INFO] [stdout]                 end: 232,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 233,
[INFO] [stdout]                 end: 238,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 238,
[INFO] [stdout]                 end: 239,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 239,
[INFO] [stdout]                 end: 245,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 246,
[INFO] [stdout]                 end: 247,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 247,
[INFO] [stdout]                 end: 251,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 251,
[INFO] [stdout]                 end: 252,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 253,
[INFO] [stdout]                 end: 265,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     16,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 266,
[INFO] [stdout]                 end: 269,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 269,
[INFO] [stdout]                 end: 270,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 271,
[INFO] [stdout]                 end: 285,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     17,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 286,
[INFO] [stdout]                 end: 289,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 289,
[INFO] [stdout]                 end: 290,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 291,
[INFO] [stdout]                 end: 295,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 296,
[INFO] [stdout]                 end: 299,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 299,
[INFO] [stdout]                 end: 300,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 301,
[INFO] [stdout]                 end: 304,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 304,
[INFO] [stdout]                 end: 305,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 310,
[INFO] [stdout]                 end: 312,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 313,
[INFO] [stdout]                 end: 318,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 318,
[INFO] [stdout]                 end: 319,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 319,
[INFO] [stdout]                 end: 323,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 324,
[INFO] [stdout]                 end: 327,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 327,
[INFO] [stdout]                 end: 328,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 329,
[INFO] [stdout]                 end: 335,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 336,
[INFO] [stdout]                 end: 337,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 337,
[INFO] [stdout]                 end: 341,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 341,
[INFO] [stdout]                 end: 342,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 343,
[INFO] [stdout]                 end: 347,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 348,
[INFO] [stdout]                 end: 351,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 351,
[INFO] [stdout]                 end: 352,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 353,
[INFO] [stdout]                 end: 356,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 356,
[INFO] [stdout]                 end: 357,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 358,
[INFO] [stdout]                 end: 359,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 361,
[INFO] [stdout]                 end: 363,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 364,
[INFO] [stdout]                 end: 368,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     19,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 368,
[INFO] [stdout]                 end: 369,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 369,
[INFO] [stdout]                 end: 370,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 371,
[INFO] [stdout]                 end: 374,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 375,
[INFO] [stdout]                 end: 376,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 381,
[INFO] [stdout]                 end: 384,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 385,
[INFO] [stdout]                 end: 396,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 397,
[INFO] [stdout]                 end: 398,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 399,
[INFO] [stdout]                 end: 403,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 8192,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 403,
[INFO] [stdout]                 end: 404,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 409,
[INFO] [stdout]                 end: 412,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 413,
[INFO] [stdout]                 end: 419,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 420,
[INFO] [stdout]                 end: 421,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 422,
[INFO] [stdout]                 end: 428,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 428,
[INFO] [stdout]                 end: 429,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 429,
[INFO] [stdout]                 end: 440,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 440,
[INFO] [stdout]                 end: 441,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 441,
[INFO] [stdout]                 end: 442,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 448,
[INFO] [stdout]                 end: 451,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 452,
[INFO] [stdout]                 end: 461,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 462,
[INFO] [stdout]                 end: 463,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 464,
[INFO] [stdout]                 end: 476,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "Cargo.lock",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 477,
[INFO] [stdout]                 end: 478,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 483,
[INFO] [stdout]                 end: 486,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 487,
[INFO] [stdout]                 end: 491,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 492,
[INFO] [stdout]                 end: 493,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 494,
[INFO] [stdout]                 end: 499,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 499,
[INFO] [stdout]                 end: 500,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 500,
[INFO] [stdout]                 end: 501,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 501,
[INFO] [stdout]                 end: 510,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 510,
[INFO] [stdout]                 end: 511,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 512,
[INFO] [stdout]                 end: 513,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 513,
[INFO] [stdout]                 end: 516,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "r",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 517,
[INFO] [stdout]                 end: 518,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 518,
[INFO] [stdout]                 end: 519,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 524,
[INFO] [stdout]                 end: 526,
[INFO] [stdout]             },
[INFO] [stdout]             kind: IfKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 527,
[INFO] [stdout]                 end: 531,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 532,
[INFO] [stdout]                 end: 533,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Equivalent,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 535,
[INFO] [stdout]                 end: 536,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 537,
[INFO] [stdout]                 end: 538,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 547,
[INFO] [stdout]                 end: 554,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 554,
[INFO] [stdout]                 end: 555,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 555,
[INFO] [stdout]                 end: 556,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 556,
[INFO] [stdout]                 end: 557,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 558,
[INFO] [stdout]                 end: 559,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 559,
[INFO] [stdout]                 end: 585,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "Failed to open file %s\n",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 586,
[INFO] [stdout]                 end: 587,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 588,
[INFO] [stdout]                 end: 589,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 589,
[INFO] [stdout]                 end: 598,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 598,
[INFO] [stdout]                 end: 599,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 599,
[INFO] [stdout]                 end: 600,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 609,
[INFO] [stdout]                 end: 610,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 616,
[INFO] [stdout]                 end: 617,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 618,
[INFO] [stdout]                 end: 622,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ElseKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 623,
[INFO] [stdout]                 end: 624,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 633,
[INFO] [stdout]                 end: 636,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 637,
[INFO] [stdout]                 end: 645,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 646,
[INFO] [stdout]                 end: 647,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 648,
[INFO] [stdout]                 end: 652,
[INFO] [stdout]             },
[INFO] [stdout]             kind: TrueKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 652,
[INFO] [stdout]                 end: 653,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 662,
[INFO] [stdout]                 end: 667,
[INFO] [stdout]             },
[INFO] [stdout]             kind: WhileKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 668,
[INFO] [stdout]                 end: 676,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 677,
[INFO] [stdout]                 end: 678,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 691,
[INFO] [stdout]                 end: 694,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 695,
[INFO] [stdout]                 end: 706,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 707,
[INFO] [stdout]                 end: 708,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 709,
[INFO] [stdout]                 end: 714,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 714,
[INFO] [stdout]                 end: 715,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 715,
[INFO] [stdout]                 end: 721,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 721,
[INFO] [stdout]                 end: 722,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 723,
[INFO] [stdout]                 end: 724,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 724,
[INFO] [stdout]                 end: 725,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 726,
[INFO] [stdout]                 end: 737,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 737,
[INFO] [stdout]                 end: 738,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 739,
[INFO] [stdout]                 end: 743,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 743,
[INFO] [stdout]                 end: 744,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 744,
[INFO] [stdout]                 end: 745,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 758,
[INFO] [stdout]                 end: 763,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 763,
[INFO] [stdout]                 end: 764,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 764,
[INFO] [stdout]                 end: 765,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 765,
[INFO] [stdout]                 end: 766,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 767,
[INFO] [stdout]                 end: 773,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 773,
[INFO] [stdout]                 end: 774,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 775,
[INFO] [stdout]                 end: 786,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 786,
[INFO] [stdout]                 end: 787,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 787,
[INFO] [stdout]                 end: 788,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 801,
[INFO] [stdout]                 end: 803,
[INFO] [stdout]             },
[INFO] [stdout]             kind: IfKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 804,
[INFO] [stdout]                 end: 815,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 816,
[INFO] [stdout]                 end: 817,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LessThan,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 818,
[INFO] [stdout]                 end: 829,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 830,
[INFO] [stdout]                 end: 831,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 848,
[INFO] [stdout]                 end: 856,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 857,
[INFO] [stdout]                 end: 858,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 859,
[INFO] [stdout]                 end: 864,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FalseKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 864,
[INFO] [stdout]                 end: 865,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 878,
[INFO] [stdout]                 end: 879,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 879,
[INFO] [stdout]                 end: 880,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 889,
[INFO] [stdout]                 end: 890,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 900,
[INFO] [stdout]                 end: 904,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 904,
[INFO] [stdout]                 end: 905,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 905,
[INFO] [stdout]                 end: 906,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 906,
[INFO] [stdout]                 end: 908,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 909,
[INFO] [stdout]                 end: 910,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 910,
[INFO] [stdout]                 end: 911,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 920,
[INFO] [stdout]                 end: 921,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 926,
[INFO] [stdout]                 end: 927,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 928,
[INFO] [stdout]                 end: 929,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     next_token_i: 109,
[INFO] [stdout]     interner: RwLock {
[INFO] [stdout]         data: Interner {
[INFO] [stdout]             map: {
[INFO] [stdout]                 "CStr": IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "Int": IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "size_of_part": IdentId(
[INFO] [stdout]                     16,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fprintf": IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "file": IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "buffer": IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "size": IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "write": IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "str": IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fmt": IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "main": IdentId(
[INFO] [stdout]                     19,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "no_break": IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "read_amount": IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "printf": IdentId(
[INFO] [stdout]                     13,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fread": IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "amount_to_read": IdentId(
[INFO] [stdout]                     17,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "puts": IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "buffer_size": IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "param": IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "mode": IdentId(
[INFO] [stdout]                     8,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "malloc": IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fopen": IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "file_name": IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             },
[INFO] [stdout]             vec: [
[INFO] [stdout]                 "puts",
[INFO] [stdout]                 "str",
[INFO] [stdout]                 "CStr",
[INFO] [stdout]                 "Int",
[INFO] [stdout]                 "malloc",
[INFO] [stdout]                 "size",
[INFO] [stdout]                 "fopen",
[INFO] [stdout]                 "file_name",
[INFO] [stdout]                 "mode",
[INFO] [stdout]                 "fprintf",
[INFO] [stdout]                 "file",
[INFO] [stdout]                 "fmt",
[INFO] [stdout]                 "param",
[INFO] [stdout]                 "printf",
[INFO] [stdout]                 "fread",
[INFO] [stdout]                 "buffer",
[INFO] [stdout]                 "size_of_part",
[INFO] [stdout]                 "amount_to_read",
[INFO] [stdout]                 "write",
[INFO] [stdout]                 "main",
[INFO] [stdout]                 "buffer_size",
[INFO] [stdout]                 "no_break",
[INFO] [stdout]                 "read_amount",
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/ast/ast_expr/mod.rs:128:9] &self = Ast {
[INFO] [stdout]     errs: [],
[INFO] [stdout]     imports: [],
[INFO] [stdout]     fns: [],
[INFO] [stdout]     extern_fns: [
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 6,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         1,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         0,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 48,
[INFO] [stdout]                 end: 51,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 15,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 4,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 3,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         2,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Ref(
[INFO] [stdout]                 CStr,
[INFO] [stdout]             ),
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 77,
[INFO] [stdout]                 end: 82,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 24,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 6,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 6,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         7,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         4,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         8,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 126,
[INFO] [stdout]                 end: 129,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 37,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 9,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 10,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         7,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         8,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         9,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 180,
[INFO] [stdout]                 end: 183,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 53,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 13,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 13,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 221,
[INFO] [stdout]                 end: 224,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 65,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 14,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 18,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         14,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         16,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         17,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         16,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         17,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 301,
[INFO] [stdout]                 end: 304,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 83,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 18,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 22,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         19,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         20,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         21,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 353,
[INFO] [stdout]                 end: 356,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     enums: [],
[INFO] [stdout]     structs: [],
[INFO] [stdout]     tokens: [
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 0,
[INFO] [stdout]                 end: 6,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ImportKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 7,
[INFO] [stdout]                 end: 8,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 9,
[INFO] [stdout]                 end: 10,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 12,
[INFO] [stdout]                 end: 18,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ExternKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 19,
[INFO] [stdout]                 end: 21,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Str(
[INFO] [stdout]                 "C",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 23,
[INFO] [stdout]                 end: 24,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 29,
[INFO] [stdout]                 end: 31,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 32,
[INFO] [stdout]                 end: 36,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 36,
[INFO] [stdout]                 end: 37,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 37,
[INFO] [stdout]                 end: 40,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 41,
[INFO] [stdout]                 end: 42,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 42,
[INFO] [stdout]                 end: 46,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 46,
[INFO] [stdout]                 end: 47,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 48,
[INFO] [stdout]                 end: 51,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 51,
[INFO] [stdout]                 end: 52,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 57,
[INFO] [stdout]                 end: 59,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 60,
[INFO] [stdout]                 end: 66,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 66,
[INFO] [stdout]                 end: 67,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 67,
[INFO] [stdout]                 end: 71,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 72,
[INFO] [stdout]                 end: 75,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 75,
[INFO] [stdout]                 end: 76,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 77,
[INFO] [stdout]                 end: 78,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 78,
[INFO] [stdout]                 end: 82,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 82,
[INFO] [stdout]                 end: 83,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 88,
[INFO] [stdout]                 end: 90,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 91,
[INFO] [stdout]                 end: 96,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 96,
[INFO] [stdout]                 end: 97,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 97,
[INFO] [stdout]                 end: 106,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 107,
[INFO] [stdout]                 end: 108,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 108,
[INFO] [stdout]                 end: 112,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 112,
[INFO] [stdout]                 end: 113,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 114,
[INFO] [stdout]                 end: 118,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     8,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 119,
[INFO] [stdout]                 end: 120,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 120,
[INFO] [stdout]                 end: 124,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 124,
[INFO] [stdout]                 end: 125,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 126,
[INFO] [stdout]                 end: 129,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 129,
[INFO] [stdout]                 end: 130,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 135,
[INFO] [stdout]                 end: 137,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 138,
[INFO] [stdout]                 end: 145,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 145,
[INFO] [stdout]                 end: 146,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 146,
[INFO] [stdout]                 end: 150,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 151,
[INFO] [stdout]                 end: 154,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 154,
[INFO] [stdout]                 end: 155,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 156,
[INFO] [stdout]                 end: 159,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 160,
[INFO] [stdout]                 end: 161,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 161,
[INFO] [stdout]                 end: 165,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 165,
[INFO] [stdout]                 end: 166,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 167,
[INFO] [stdout]                 end: 172,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 173,
[INFO] [stdout]                 end: 174,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 174,
[INFO] [stdout]                 end: 178,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 178,
[INFO] [stdout]                 end: 179,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 180,
[INFO] [stdout]                 end: 183,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 183,
[INFO] [stdout]                 end: 184,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 189,
[INFO] [stdout]                 end: 191,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 192,
[INFO] [stdout]                 end: 198,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     13,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 198,
[INFO] [stdout]                 end: 199,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 199,
[INFO] [stdout]                 end: 202,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 203,
[INFO] [stdout]                 end: 204,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 204,
[INFO] [stdout]                 end: 208,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 208,
[INFO] [stdout]                 end: 209,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 210,
[INFO] [stdout]                 end: 215,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 216,
[INFO] [stdout]                 end: 219,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 219,
[INFO] [stdout]                 end: 220,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 221,
[INFO] [stdout]                 end: 224,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 224,
[INFO] [stdout]                 end: 225,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 230,
[INFO] [stdout]                 end: 232,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 233,
[INFO] [stdout]                 end: 238,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 238,
[INFO] [stdout]                 end: 239,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 239,
[INFO] [stdout]                 end: 245,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 246,
[INFO] [stdout]                 end: 247,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 247,
[INFO] [stdout]                 end: 251,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 251,
[INFO] [stdout]                 end: 252,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 253,
[INFO] [stdout]                 end: 265,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     16,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 266,
[INFO] [stdout]                 end: 269,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 269,
[INFO] [stdout]                 end: 270,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 271,
[INFO] [stdout]                 end: 285,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     17,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 286,
[INFO] [stdout]                 end: 289,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 289,
[INFO] [stdout]                 end: 290,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 291,
[INFO] [stdout]                 end: 295,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 296,
[INFO] [stdout]                 end: 299,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 299,
[INFO] [stdout]                 end: 300,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 301,
[INFO] [stdout]                 end: 304,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 304,
[INFO] [stdout]                 end: 305,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 310,
[INFO] [stdout]                 end: 312,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 313,
[INFO] [stdout]                 end: 318,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 318,
[INFO] [stdout]                 end: 319,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 319,
[INFO] [stdout]                 end: 323,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 324,
[INFO] [stdout]                 end: 327,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 327,
[INFO] [stdout]                 end: 328,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 329,
[INFO] [stdout]                 end: 335,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 336,
[INFO] [stdout]                 end: 337,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 337,
[INFO] [stdout]                 end: 341,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 341,
[INFO] [stdout]                 end: 342,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 343,
[INFO] [stdout]                 end: 347,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 348,
[INFO] [stdout]                 end: 351,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 351,
[INFO] [stdout]                 end: 352,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 353,
[INFO] [stdout]                 end: 356,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 356,
[INFO] [stdout]                 end: 357,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 358,
[INFO] [stdout]                 end: 359,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 361,
[INFO] [stdout]                 end: 363,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 364,
[INFO] [stdout]                 end: 368,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     19,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 368,
[INFO] [stdout]                 end: 369,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 369,
[INFO] [stdout]                 end: 370,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 371,
[INFO] [stdout]                 end: 374,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 375,
[INFO] [stdout]                 end: 376,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 381,
[INFO] [stdout]                 end: 384,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 385,
[INFO] [stdout]                 end: 396,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 397,
[INFO] [stdout]                 end: 398,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 399,
[INFO] [stdout]                 end: 403,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 8192,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 403,
[INFO] [stdout]                 end: 404,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 409,
[INFO] [stdout]                 end: 412,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 413,
[INFO] [stdout]                 end: 419,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 420,
[INFO] [stdout]                 end: 421,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 422,
[INFO] [stdout]                 end: 428,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 428,
[INFO] [stdout]                 end: 429,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 429,
[INFO] [stdout]                 end: 440,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 440,
[INFO] [stdout]                 end: 441,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 441,
[INFO] [stdout]                 end: 442,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 448,
[INFO] [stdout]                 end: 451,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 452,
[INFO] [stdout]                 end: 461,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 462,
[INFO] [stdout]                 end: 463,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 464,
[INFO] [stdout]                 end: 476,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "Cargo.lock",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 477,
[INFO] [stdout]                 end: 478,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 483,
[INFO] [stdout]                 end: 486,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 487,
[INFO] [stdout]                 end: 491,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 492,
[INFO] [stdout]                 end: 493,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 494,
[INFO] [stdout]                 end: 499,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 499,
[INFO] [stdout]                 end: 500,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 500,
[INFO] [stdout]                 end: 501,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 501,
[INFO] [stdout]                 end: 510,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 510,
[INFO] [stdout]                 end: 511,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 512,
[INFO] [stdout]                 end: 513,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 513,
[INFO] [stdout]                 end: 516,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "r",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 517,
[INFO] [stdout]                 end: 518,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 518,
[INFO] [stdout]                 end: 519,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 524,
[INFO] [stdout]                 end: 526,
[INFO] [stdout]             },
[INFO] [stdout]             kind: IfKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 527,
[INFO] [stdout]                 end: 531,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 532,
[INFO] [stdout]                 end: 533,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Equivalent,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 535,
[INFO] [stdout]                 end: 536,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 537,
[INFO] [stdout]                 end: 538,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 547,
[INFO] [stdout]                 end: 554,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 554,
[INFO] [stdout]                 end: 555,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 555,
[INFO] [stdout]                 end: 556,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 556,
[INFO] [stdout]                 end: 557,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 558,
[INFO] [stdout]                 end: 559,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 559,
[INFO] [stdout]                 end: 585,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "Failed to open file %s\n",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 586,
[INFO] [stdout]                 end: 587,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 588,
[INFO] [stdout]                 end: 589,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 589,
[INFO] [stdout]                 end: 598,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 598,
[INFO] [stdout]                 end: 599,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 599,
[INFO] [stdout]                 end: 600,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 609,
[INFO] [stdout]                 end: 610,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 616,
[INFO] [stdout]                 end: 617,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 618,
[INFO] [stdout]                 end: 622,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ElseKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 623,
[INFO] [stdout]                 end: 624,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 633,
[INFO] [stdout]                 end: 636,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 637,
[INFO] [stdout]                 end: 645,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 646,
[INFO] [stdout]                 end: 647,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 648,
[INFO] [stdout]                 end: 652,
[INFO] [stdout]             },
[INFO] [stdout]             kind: TrueKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 652,
[INFO] [stdout]                 end: 653,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 662,
[INFO] [stdout]                 end: 667,
[INFO] [stdout]             },
[INFO] [stdout]             kind: WhileKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 668,
[INFO] [stdout]                 end: 676,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 677,
[INFO] [stdout]                 end: 678,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 691,
[INFO] [stdout]                 end: 694,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 695,
[INFO] [stdout]                 end: 706,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 707,
[INFO] [stdout]                 end: 708,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 709,
[INFO] [stdout]                 end: 714,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 714,
[INFO] [stdout]                 end: 715,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 715,
[INFO] [stdout]                 end: 721,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 721,
[INFO] [stdout]                 end: 722,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 723,
[INFO] [stdout]                 end: 724,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 724,
[INFO] [stdout]                 end: 725,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 726,
[INFO] [stdout]                 end: 737,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 737,
[INFO] [stdout]                 end: 738,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 739,
[INFO] [stdout]                 end: 743,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 743,
[INFO] [stdout]                 end: 744,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 744,
[INFO] [stdout]                 end: 745,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 758,
[INFO] [stdout]                 end: 763,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 763,
[INFO] [stdout]                 end: 764,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 764,
[INFO] [stdout]                 end: 765,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 765,
[INFO] [stdout]                 end: 766,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 767,
[INFO] [stdout]                 end: 773,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 773,
[INFO] [stdout]                 end: 774,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 775,
[INFO] [stdout]                 end: 786,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 786,
[INFO] [stdout]                 end: 787,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 787,
[INFO] [stdout]                 end: 788,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 801,
[INFO] [stdout]                 end: 803,
[INFO] [stdout]             },
[INFO] [stdout]             kind: IfKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 804,
[INFO] [stdout]                 end: 815,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 816,
[INFO] [stdout]                 end: 817,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LessThan,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 818,
[INFO] [stdout]                 end: 829,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 830,
[INFO] [stdout]                 end: 831,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 848,
[INFO] [stdout]                 end: 856,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 857,
[INFO] [stdout]                 end: 858,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 859,
[INFO] [stdout]                 end: 864,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FalseKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 864,
[INFO] [stdout]                 end: 865,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 878,
[INFO] [stdout]                 end: 879,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 879,
[INFO] [stdout]                 end: 880,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 889,
[INFO] [stdout]                 end: 890,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 900,
[INFO] [stdout]                 end: 904,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 904,
[INFO] [stdout]                 end: 905,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 905,
[INFO] [stdout]                 end: 906,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 906,
[INFO] [stdout]                 end: 908,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 909,
[INFO] [stdout]                 end: 910,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 910,
[INFO] [stdout]                 end: 911,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 920,
[INFO] [stdout]                 end: 921,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 926,
[INFO] [stdout]                 end: 927,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 928,
[INFO] [stdout]                 end: 929,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     next_token_i: 114,
[INFO] [stdout]     interner: RwLock {
[INFO] [stdout]         data: Interner {
[INFO] [stdout]             map: {
[INFO] [stdout]                 "CStr": IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "Int": IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "size_of_part": IdentId(
[INFO] [stdout]                     16,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fprintf": IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "file": IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "buffer": IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "size": IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "write": IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "str": IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fmt": IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "main": IdentId(
[INFO] [stdout]                     19,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "no_break": IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "read_amount": IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "printf": IdentId(
[INFO] [stdout]                     13,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fread": IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "amount_to_read": IdentId(
[INFO] [stdout]                     17,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "puts": IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "buffer_size": IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "param": IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "mode": IdentId(
[INFO] [stdout]                     8,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "malloc": IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fopen": IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "file_name": IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             },
[INFO] [stdout]             vec: [
[INFO] [stdout]                 "puts",
[INFO] [stdout]                 "str",
[INFO] [stdout]                 "CStr",
[INFO] [stdout]                 "Int",
[INFO] [stdout]                 "malloc",
[INFO] [stdout]                 "size",
[INFO] [stdout]                 "fopen",
[INFO] [stdout]                 "file_name",
[INFO] [stdout]                 "mode",
[INFO] [stdout]                 "fprintf",
[INFO] [stdout]                 "file",
[INFO] [stdout]                 "fmt",
[INFO] [stdout]                 "param",
[INFO] [stdout]                 "printf",
[INFO] [stdout]                 "fread",
[INFO] [stdout]                 "buffer",
[INFO] [stdout]                 "size_of_part",
[INFO] [stdout]                 "amount_to_read",
[INFO] [stdout]                 "write",
[INFO] [stdout]                 "main",
[INFO] [stdout]                 "buffer_size",
[INFO] [stdout]                 "no_break",
[INFO] [stdout]                 "read_amount",
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/ast/ast_expr/mod.rs:128:9] &self = Ast {
[INFO] [stdout]     errs: [],
[INFO] [stdout]     imports: [],
[INFO] [stdout]     fns: [],
[INFO] [stdout]     extern_fns: [
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 6,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         1,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         0,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 48,
[INFO] [stdout]                 end: 51,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 15,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 4,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 3,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         2,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Ref(
[INFO] [stdout]                 CStr,
[INFO] [stdout]             ),
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 77,
[INFO] [stdout]                 end: 82,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 24,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 6,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 6,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         7,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         4,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         8,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 126,
[INFO] [stdout]                 end: 129,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 37,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 9,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 10,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         7,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         8,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         9,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 180,
[INFO] [stdout]                 end: 183,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 53,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 13,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 13,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 221,
[INFO] [stdout]                 end: 224,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 65,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 14,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 18,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         14,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         16,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         17,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         16,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         17,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 301,
[INFO] [stdout]                 end: 304,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 83,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 18,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 22,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         19,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         20,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         21,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 353,
[INFO] [stdout]                 end: 356,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     enums: [],
[INFO] [stdout]     structs: [],
[INFO] [stdout]     tokens: [
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 0,
[INFO] [stdout]                 end: 6,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ImportKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 7,
[INFO] [stdout]                 end: 8,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 9,
[INFO] [stdout]                 end: 10,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 12,
[INFO] [stdout]                 end: 18,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ExternKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 19,
[INFO] [stdout]                 end: 21,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Str(
[INFO] [stdout]                 "C",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 23,
[INFO] [stdout]                 end: 24,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 29,
[INFO] [stdout]                 end: 31,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 32,
[INFO] [stdout]                 end: 36,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 36,
[INFO] [stdout]                 end: 37,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 37,
[INFO] [stdout]                 end: 40,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 41,
[INFO] [stdout]                 end: 42,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 42,
[INFO] [stdout]                 end: 46,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 46,
[INFO] [stdout]                 end: 47,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 48,
[INFO] [stdout]                 end: 51,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 51,
[INFO] [stdout]                 end: 52,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 57,
[INFO] [stdout]                 end: 59,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 60,
[INFO] [stdout]                 end: 66,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 66,
[INFO] [stdout]                 end: 67,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 67,
[INFO] [stdout]                 end: 71,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 72,
[INFO] [stdout]                 end: 75,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 75,
[INFO] [stdout]                 end: 76,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 77,
[INFO] [stdout]                 end: 78,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 78,
[INFO] [stdout]                 end: 82,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 82,
[INFO] [stdout]                 end: 83,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 88,
[INFO] [stdout]                 end: 90,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 91,
[INFO] [stdout]                 end: 96,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 96,
[INFO] [stdout]                 end: 97,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 97,
[INFO] [stdout]                 end: 106,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 107,
[INFO] [stdout]                 end: 108,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 108,
[INFO] [stdout]                 end: 112,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 112,
[INFO] [stdout]                 end: 113,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 114,
[INFO] [stdout]                 end: 118,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     8,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 119,
[INFO] [stdout]                 end: 120,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 120,
[INFO] [stdout]                 end: 124,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 124,
[INFO] [stdout]                 end: 125,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 126,
[INFO] [stdout]                 end: 129,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 129,
[INFO] [stdout]                 end: 130,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 135,
[INFO] [stdout]                 end: 137,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 138,
[INFO] [stdout]                 end: 145,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 145,
[INFO] [stdout]                 end: 146,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 146,
[INFO] [stdout]                 end: 150,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 151,
[INFO] [stdout]                 end: 154,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 154,
[INFO] [stdout]                 end: 155,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 156,
[INFO] [stdout]                 end: 159,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 160,
[INFO] [stdout]                 end: 161,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 161,
[INFO] [stdout]                 end: 165,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 165,
[INFO] [stdout]                 end: 166,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 167,
[INFO] [stdout]                 end: 172,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 173,
[INFO] [stdout]                 end: 174,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 174,
[INFO] [stdout]                 end: 178,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 178,
[INFO] [stdout]                 end: 179,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 180,
[INFO] [stdout]                 end: 183,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 183,
[INFO] [stdout]                 end: 184,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 189,
[INFO] [stdout]                 end: 191,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 192,
[INFO] [stdout]                 end: 198,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     13,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 198,
[INFO] [stdout]                 end: 199,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 199,
[INFO] [stdout]                 end: 202,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 203,
[INFO] [stdout]                 end: 204,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 204,
[INFO] [stdout]                 end: 208,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 208,
[INFO] [stdout]                 end: 209,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 210,
[INFO] [stdout]                 end: 215,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 216,
[INFO] [stdout]                 end: 219,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 219,
[INFO] [stdout]                 end: 220,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 221,
[INFO] [stdout]                 end: 224,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 224,
[INFO] [stdout]                 end: 225,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 230,
[INFO] [stdout]                 end: 232,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 233,
[INFO] [stdout]                 end: 238,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 238,
[INFO] [stdout]                 end: 239,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 239,
[INFO] [stdout]                 end: 245,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 246,
[INFO] [stdout]                 end: 247,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 247,
[INFO] [stdout]                 end: 251,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 251,
[INFO] [stdout]                 end: 252,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 253,
[INFO] [stdout]                 end: 265,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     16,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 266,
[INFO] [stdout]                 end: 269,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 269,
[INFO] [stdout]                 end: 270,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 271,
[INFO] [stdout]                 end: 285,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     17,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 286,
[INFO] [stdout]                 end: 289,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 289,
[INFO] [stdout]                 end: 290,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 291,
[INFO] [stdout]                 end: 295,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 296,
[INFO] [stdout]                 end: 299,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 299,
[INFO] [stdout]                 end: 300,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 301,
[INFO] [stdout]                 end: 304,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 304,
[INFO] [stdout]                 end: 305,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 310,
[INFO] [stdout]                 end: 312,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 313,
[INFO] [stdout]                 end: 318,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 318,
[INFO] [stdout]                 end: 319,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 319,
[INFO] [stdout]                 end: 323,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 324,
[INFO] [stdout]                 end: 327,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 327,
[INFO] [stdout]                 end: 328,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 329,
[INFO] [stdout]                 end: 335,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 336,
[INFO] [stdout]                 end: 337,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 337,
[INFO] [stdout]                 end: 341,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 341,
[INFO] [stdout]                 end: 342,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 343,
[INFO] [stdout]                 end: 347,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 348,
[INFO] [stdout]                 end: 351,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 351,
[INFO] [stdout]                 end: 352,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 353,
[INFO] [stdout]                 end: 356,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 356,
[INFO] [stdout]                 end: 357,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 358,
[INFO] [stdout]                 end: 359,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 361,
[INFO] [stdout]                 end: 363,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 364,
[INFO] [stdout]                 end: 368,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     19,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 368,
[INFO] [stdout]                 end: 369,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 369,
[INFO] [stdout]                 end: 370,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 371,
[INFO] [stdout]                 end: 374,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 375,
[INFO] [stdout]                 end: 376,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 381,
[INFO] [stdout]                 end: 384,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 385,
[INFO] [stdout]                 end: 396,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 397,
[INFO] [stdout]                 end: 398,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 399,
[INFO] [stdout]                 end: 403,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 8192,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 403,
[INFO] [stdout]                 end: 404,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 409,
[INFO] [stdout]                 end: 412,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 413,
[INFO] [stdout]                 end: 419,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 420,
[INFO] [stdout]                 end: 421,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 422,
[INFO] [stdout]                 end: 428,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 428,
[INFO] [stdout]                 end: 429,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 429,
[INFO] [stdout]                 end: 440,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 440,
[INFO] [stdout]                 end: 441,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 441,
[INFO] [stdout]                 end: 442,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 448,
[INFO] [stdout]                 end: 451,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 452,
[INFO] [stdout]                 end: 461,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 462,
[INFO] [stdout]                 end: 463,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 464,
[INFO] [stdout]                 end: 476,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "Cargo.lock",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 477,
[INFO] [stdout]                 end: 478,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 483,
[INFO] [stdout]                 end: 486,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 487,
[INFO] [stdout]                 end: 491,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 492,
[INFO] [stdout]                 end: 493,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 494,
[INFO] [stdout]                 end: 499,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 499,
[INFO] [stdout]                 end: 500,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 500,
[INFO] [stdout]                 end: 501,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 501,
[INFO] [stdout]                 end: 510,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 510,
[INFO] [stdout]                 end: 511,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 512,
[INFO] [stdout]                 end: 513,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 513,
[INFO] [stdout]                 end: 516,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "r",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 517,
[INFO] [stdout]                 end: 518,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 518,
[INFO] [stdout]                 end: 519,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 524,
[INFO] [stdout]                 end: 526,
[INFO] [stdout]             },
[INFO] [stdout]             kind: IfKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 527,
[INFO] [stdout]                 end: 531,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 532,
[INFO] [stdout]                 end: 533,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Equivalent,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 535,
[INFO] [stdout]                 end: 536,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 537,
[INFO] [stdout]                 end: 538,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 547,
[INFO] [stdout]                 end: 554,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 554,
[INFO] [stdout]                 end: 555,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 555,
[INFO] [stdout]                 end: 556,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 556,
[INFO] [stdout]                 end: 557,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 558,
[INFO] [stdout]                 end: 559,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 559,
[INFO] [stdout]                 end: 585,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "Failed to open file %s\n",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 586,
[INFO] [stdout]                 end: 587,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 588,
[INFO] [stdout]                 end: 589,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 589,
[INFO] [stdout]                 end: 598,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 598,
[INFO] [stdout]                 end: 599,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 599,
[INFO] [stdout]                 end: 600,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 609,
[INFO] [stdout]                 end: 610,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 616,
[INFO] [stdout]                 end: 617,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 618,
[INFO] [stdout]                 end: 622,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ElseKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 623,
[INFO] [stdout]                 end: 624,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 633,
[INFO] [stdout]                 end: 636,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 637,
[INFO] [stdout]                 end: 645,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 646,
[INFO] [stdout]                 end: 647,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 648,
[INFO] [stdout]                 end: 652,
[INFO] [stdout]             },
[INFO] [stdout]             kind: TrueKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 652,
[INFO] [stdout]                 end: 653,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 662,
[INFO] [stdout]                 end: 667,
[INFO] [stdout]             },
[INFO] [stdout]             kind: WhileKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 668,
[INFO] [stdout]                 end: 676,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 677,
[INFO] [stdout]                 end: 678,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 691,
[INFO] [stdout]                 end: 694,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LetKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 695,
[INFO] [stdout]                 end: 706,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 707,
[INFO] [stdout]                 end: 708,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 709,
[INFO] [stdout]                 end: 714,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 714,
[INFO] [stdout]                 end: 715,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 715,
[INFO] [stdout]                 end: 721,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 721,
[INFO] [stdout]                 end: 722,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 723,
[INFO] [stdout]                 end: 724,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 724,
[INFO] [stdout]                 end: 725,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 726,
[INFO] [stdout]                 end: 737,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 737,
[INFO] [stdout]                 end: 738,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 739,
[INFO] [stdout]                 end: 743,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 743,
[INFO] [stdout]                 end: 744,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 744,
[INFO] [stdout]                 end: 745,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 758,
[INFO] [stdout]                 end: 763,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 763,
[INFO] [stdout]                 end: 764,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 764,
[INFO] [stdout]                 end: 765,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 765,
[INFO] [stdout]                 end: 766,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 767,
[INFO] [stdout]                 end: 773,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 773,
[INFO] [stdout]                 end: 774,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 775,
[INFO] [stdout]                 end: 786,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 786,
[INFO] [stdout]                 end: 787,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 787,
[INFO] [stdout]                 end: 788,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 801,
[INFO] [stdout]                 end: 803,
[INFO] [stdout]             },
[INFO] [stdout]             kind: IfKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 804,
[INFO] [stdout]                 end: 815,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 816,
[INFO] [stdout]                 end: 817,
[INFO] [stdout]             },
[INFO] [stdout]             kind: LessThan,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 818,
[INFO] [stdout]                 end: 829,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 830,
[INFO] [stdout]                 end: 831,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 848,
[INFO] [stdout]                 end: 856,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 857,
[INFO] [stdout]                 end: 858,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Assign,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 859,
[INFO] [stdout]                 end: 864,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FalseKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 864,
[INFO] [stdout]                 end: 865,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 878,
[INFO] [stdout]                 end: 879,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 879,
[INFO] [stdout]                 end: 880,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 889,
[INFO] [stdout]                 end: 890,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 900,
[INFO] [stdout]                 end: 904,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 904,
[INFO] [stdout]                 end: 905,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 905,
[INFO] [stdout]                 end: 906,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 906,
[INFO] [stdout]                 end: 908,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CStr(
[INFO] [stdout]                 "",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 909,
[INFO] [stdout]                 end: 910,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 910,
[INFO] [stdout]                 end: 911,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 920,
[INFO] [stdout]                 end: 921,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Int(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 926,
[INFO] [stdout]                 end: 927,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 928,
[INFO] [stdout]                 end: 929,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     next_token_i: 116,
[INFO] [stdout]     interner: RwLock {
[INFO] [stdout]         data: Interner {
[INFO] [stdout]             map: {
[INFO] [stdout]                 "CStr": IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "Int": IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "size_of_part": IdentId(
[INFO] [stdout]                     16,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fprintf": IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "file": IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "buffer": IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "size": IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "write": IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "str": IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fmt": IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "main": IdentId(
[INFO] [stdout]                     19,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "no_break": IdentId(
[INFO] [stdout]                     21,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "read_amount": IdentId(
[INFO] [stdout]                     22,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "printf": IdentId(
[INFO] [stdout]                     13,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fread": IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "amount_to_read": IdentId(
[INFO] [stdout]                     17,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "puts": IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "buffer_size": IdentId(
[INFO] [stdout]                     20,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "param": IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "mode": IdentId(
[INFO] [stdout]                     8,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "malloc": IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "fopen": IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]                 "file_name": IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             },
[INFO] [stdout]             vec: [
[INFO] [stdout]                 "puts",
[INFO] [stdout]                 "str",
[INFO] [stdout]                 "CStr",
[INFO] [stdout]                 "Int",
[INFO] [stdout]                 "malloc",
[INFO] [stdout]                 "size",
[INFO] [stdout]                 "fopen",
[INFO] [stdout]                 "file_name",
[INFO] [stdout]                 "mode",
[INFO] [stdout]                 "fprintf",
[INFO] [stdout]                 "file",
[INFO] [stdout]                 "fmt",
[INFO] [stdout]                 "param",
[INFO] [stdout]                 "printf",
[INFO] [stdout]                 "fread",
[INFO] [stdout]                 "buffer",
[INFO] [stdout]                 "size_of_part",
[INFO] [stdout]                 "amount_to_read",
[INFO] [stdout]                 "write",
[INFO] [stdout]                 "main",
[INFO] [stdout]                 "buffer_size",
[INFO] [stdout]                 "no_break",
[INFO] [stdout]                 "read_amount",
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] [src/ast/ast_expr/mod.rs:128:9] &self = Ast {
[INFO] [stdout]     errs: [],
[INFO] [stdout]     imports: [],
[INFO] [stdout]     fns: [],
[INFO] [stdout]     extern_fns: [
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 6,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 0,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 1,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         1,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         0,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 48,
[INFO] [stdout]                 end: 51,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 15,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 4,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 3,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         2,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Ref(
[INFO] [stdout]                 CStr,
[INFO] [stdout]             ),
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 77,
[INFO] [stdout]                 end: 82,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 24,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 6,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 6,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         7,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         4,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         8,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 126,
[INFO] [stdout]                 end: 129,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 37,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 9,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 10,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         7,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         8,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         9,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 180,
[INFO] [stdout]                 end: 183,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 53,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 13,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 13,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         11,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         12,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 221,
[INFO] [stdout]                 end: 224,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 65,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 14,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 18,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         14,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         16,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         17,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         16,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         17,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 301,
[INFO] [stdout]                 end: 304,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]         AstFunc {
[INFO] [stdout]             fn_token_at: 83,
[INFO] [stdout]             ident_id: IdentId(
[INFO] [stdout]                 18,
[INFO] [stdout]             ),
[INFO] [stdout]             symbol_id: SymbolId(
[INFO] [stdout]                 22,
[INFO] [stdout]             ),
[INFO] [stdout]             args: [
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         10,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         19,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         15,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Ref(
[INFO] [stdout]                         CStr,
[INFO] [stdout]                     ),
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         20,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]                 AstFnArg {
[INFO] [stdout]                     ident_id: IdentId(
[INFO] [stdout]                         5,
[INFO] [stdout]                     ),
[INFO] [stdout]                     var_type: Int,
[INFO] [stdout]                     symbol_id: SymbolId(
[INFO] [stdout]                         21,
[INFO] [stdout]                     ),
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]             return_type: Int,
[INFO] [stdout]             return_type_span: Span {
[INFO] [stdout]                 start: 353,
[INFO] [stdout]                 end: 356,
[INFO] [stdout]             },
[INFO] [stdout]             body: None,
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout]     enums: [],
[INFO] [stdout]     structs: [],
[INFO] [stdout]     tokens: [
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 0,
[INFO] [stdout]                 end: 6,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ImportKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 7,
[INFO] [stdout]                 end: 8,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 9,
[INFO] [stdout]                 end: 10,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 12,
[INFO] [stdout]                 end: 18,
[INFO] [stdout]             },
[INFO] [stdout]             kind: ExternKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 19,
[INFO] [stdout]                 end: 21,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Str(
[INFO] [stdout]                 "C",
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 23,
[INFO] [stdout]                 end: 24,
[INFO] [stdout]             },
[INFO] [stdout]             kind: CurlyBracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 29,
[INFO] [stdout]                 end: 31,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 32,
[INFO] [stdout]                 end: 36,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     0,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 36,
[INFO] [stdout]                 end: 37,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 37,
[INFO] [stdout]                 end: 40,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     1,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 41,
[INFO] [stdout]                 end: 42,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 42,
[INFO] [stdout]                 end: 46,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 46,
[INFO] [stdout]                 end: 47,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 48,
[INFO] [stdout]                 end: 51,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 51,
[INFO] [stdout]                 end: 52,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 57,
[INFO] [stdout]                 end: 59,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 60,
[INFO] [stdout]                 end: 66,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     4,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 66,
[INFO] [stdout]                 end: 67,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 67,
[INFO] [stdout]                 end: 71,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 72,
[INFO] [stdout]                 end: 75,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 75,
[INFO] [stdout]                 end: 76,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 77,
[INFO] [stdout]                 end: 78,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 78,
[INFO] [stdout]                 end: 82,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 82,
[INFO] [stdout]                 end: 83,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 88,
[INFO] [stdout]                 end: 90,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 91,
[INFO] [stdout]                 end: 96,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     6,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 96,
[INFO] [stdout]                 end: 97,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 97,
[INFO] [stdout]                 end: 106,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     7,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 107,
[INFO] [stdout]                 end: 108,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 108,
[INFO] [stdout]                 end: 112,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 112,
[INFO] [stdout]                 end: 113,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 114,
[INFO] [stdout]                 end: 118,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     8,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 119,
[INFO] [stdout]                 end: 120,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 120,
[INFO] [stdout]                 end: 124,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 124,
[INFO] [stdout]                 end: 125,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 126,
[INFO] [stdout]                 end: 129,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 129,
[INFO] [stdout]                 end: 130,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 135,
[INFO] [stdout]                 end: 137,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 138,
[INFO] [stdout]                 end: 145,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     9,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 145,
[INFO] [stdout]                 end: 146,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 146,
[INFO] [stdout]                 end: 150,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 151,
[INFO] [stdout]                 end: 154,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 154,
[INFO] [stdout]                 end: 155,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 156,
[INFO] [stdout]                 end: 159,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 160,
[INFO] [stdout]                 end: 161,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 161,
[INFO] [stdout]                 end: 165,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 165,
[INFO] [stdout]                 end: 166,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 167,
[INFO] [stdout]                 end: 172,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 173,
[INFO] [stdout]                 end: 174,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 174,
[INFO] [stdout]                 end: 178,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 178,
[INFO] [stdout]                 end: 179,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 180,
[INFO] [stdout]                 end: 183,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 183,
[INFO] [stdout]                 end: 184,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 189,
[INFO] [stdout]                 end: 191,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 192,
[INFO] [stdout]                 end: 198,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     13,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 198,
[INFO] [stdout]                 end: 199,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 199,
[INFO] [stdout]                 end: 202,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     11,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 203,
[INFO] [stdout]                 end: 204,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 204,
[INFO] [stdout]                 end: 208,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 208,
[INFO] [stdout]                 end: 209,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 210,
[INFO] [stdout]                 end: 215,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     12,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 216,
[INFO] [stdout]                 end: 219,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 219,
[INFO] [stdout]                 end: 220,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 221,
[INFO] [stdout]                 end: 224,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 224,
[INFO] [stdout]                 end: 225,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 230,
[INFO] [stdout]                 end: 232,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 233,
[INFO] [stdout]                 end: 238,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     14,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 238,
[INFO] [stdout]                 end: 239,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 239,
[INFO] [stdout]                 end: 245,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 246,
[INFO] [stdout]                 end: 247,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 247,
[INFO] [stdout]                 end: 251,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 251,
[INFO] [stdout]                 end: 252,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 253,
[INFO] [stdout]                 end: 265,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     16,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 266,
[INFO] [stdout]                 end: 269,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 269,
[INFO] [stdout]                 end: 270,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 271,
[INFO] [stdout]                 end: 285,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     17,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 286,
[INFO] [stdout]                 end: 289,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 289,
[INFO] [stdout]                 end: 290,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 291,
[INFO] [stdout]                 end: 295,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 296,
[INFO] [stdout]                 end: 299,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 299,
[INFO] [stdout]                 end: 300,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 301,
[INFO] [stdout]                 end: 304,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 304,
[INFO] [stdout]                 end: 305,
[INFO] [stdout]             },
[INFO] [stdout]             kind: SemiColon,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 310,
[INFO] [stdout]                 end: 312,
[INFO] [stdout]             },
[INFO] [stdout]             kind: FnKeyWord,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 313,
[INFO] [stdout]                 end: 318,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     18,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 318,
[INFO] [stdout]                 end: 319,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketOpen,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 319,
[INFO] [stdout]                 end: 323,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     10,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 324,
[INFO] [stdout]                 end: 327,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 327,
[INFO] [stdout]                 end: 328,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 329,
[INFO] [stdout]                 end: 335,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     15,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 336,
[INFO] [stdout]                 end: 337,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Amp,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 337,
[INFO] [stdout]                 end: 341,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     2,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 341,
[INFO] [stdout]                 end: 342,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Comma,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 343,
[INFO] [stdout]                 end: 347,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     5,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 348,
[INFO] [stdout]                 end: 351,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[INFO] [stdout]             ),
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 351,
[INFO] [stdout]                 end: 352,
[INFO] [stdout]             },
[INFO] [stdout]             kind: BracketClose,
[INFO] [stdout]         },
[INFO] [stdout]         Token {
[INFO] [stdout]             span: Span {
[INFO] [stdout]                 start: 353,
[INFO] [stdout]                 end: 356,
[INFO] [stdout]             },
[INFO] [stdout]             kind: Ident(
[INFO] [stdout]                 IdentId(
[INFO] [stdout]                     3,
[INFO] [stdout]                 ),
[WARN] too many lines in the log, truncating it
