[INFO] cloning repository https://github.com/tcr/gourd
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tcr/gourd" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftcr%2Fgourd", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftcr%2Fgourd'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 847c6387440f45d4989e78f38d12b45c088094d1
[INFO] checking tcr/gourd against try#d8be25549d5418405531341b4be6d8538fc3c42e for pr-156160
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftcr%2Fgourd" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tcr/gourd
[INFO] finished tweaking git repo https://github.com/tcr/gourd
[INFO] tweaked toml for git repo https://github.com/tcr/gourd written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tcr/gourd on toolchain d8be25549d5418405531341b4be6d8538fc3c42e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d8be25549d5418405531341b4be6d8538fc3c42e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tcr/gourd 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" "+d8be25549d5418405531341b4be6d8538fc3c42e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 665e361d33e86cfcb686c53391d074d58d7eb4c5fe3e244f57d1fdfb42316ecb
[INFO] running `Command { std: "docker" "start" "665e361d33e86cfcb686c53391d074d58d7eb4c5fe3e244f57d1fdfb42316ecb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "665e361d33e86cfcb686c53391d074d58d7eb4c5fe3e244f57d1fdfb42316ecb" "/opt/rustwide/cargo-home/bin/cargo" "+d8be25549d5418405531341b4be6d8538fc3c42e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "665e361d33e86cfcb686c53391d074d58d7eb4c5fe3e244f57d1fdfb42316ecb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "665e361d33e86cfcb686c53391d074d58d7eb4c5fe3e244f57d1fdfb42316ecb" "/opt/rustwide/cargo-home/bin/cargo" "+d8be25549d5418405531341b4be6d8538fc3c42e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking syn v2.0.117
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-flame v0.2.0
[INFO] [stderr]    Compiling gourd-codegen v0.1.1 (/opt/rustwide/workdir/gourd-codegen)
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 |         #[cfg(feature = "debug")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:429:35
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   #[cfg(feature = "debug")]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:288:15
[INFO] [stdout]     |
[INFO] [stdout] 288 |         #[cfg(feature = "debug")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:336:35
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...                   #[cfg(feature = "debug")]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 |         #[cfg(feature = "debug")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:429:35
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   #[cfg(feature = "debug")]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:288:15
[INFO] [stdout]     |
[INFO] [stdout] 288 |         #[cfg(feature = "debug")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:336:35
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...                   #[cfg(feature = "debug")]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 |         #[cfg(feature = "debug")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:429:35
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   #[cfg(feature = "debug")]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:288:15
[INFO] [stdout]     |
[INFO] [stdout] 288 |         #[cfg(feature = "debug")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:336:35
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...                   #[cfg(feature = "debug")]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 |         #[cfg(feature = "debug")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:429:35
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   #[cfg(feature = "debug")]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:288:15
[INFO] [stdout]     |
[INFO] [stdout] 288 |         #[cfg(feature = "debug")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `debug`
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:336:35
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...                   #[cfg(feature = "debug")]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `tracing`, and `validate`
[INFO] [stdout]     = help: consider adding `debug` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:500:33
[INFO] [stdout]     |
[INFO] [stdout] 500 | ...                   depth = 1;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:500:33
[INFO] [stdout]     |
[INFO] [stdout] 500 | ...                   depth = 1;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:500:33
[INFO] [stdout]     |
[INFO] [stdout] 500 | ...                   depth = 1;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:407:33
[INFO] [stdout]     |
[INFO] [stdout] 407 | ...                   depth = 1;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:407:33
[INFO] [stdout]     |
[INFO] [stdout] 407 | ...                   depth = 1;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `elem_type` is never read
[INFO] [stdout]   --> gourd-codegen/src/transpiler/hir/parsing_hir/complex_literals.rs:64:86
[INFO] [stdout]    |
[INFO] [stdout] 64 |             && content.peek(syn::Ident) { let inner_ident: Ident = content.parse()?; elem_type = format!("[]{}", inner_ident); }
[INFO] [stdout]    |                                                                                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `elem_type` is never read
[INFO] [stdout]   --> gourd-codegen/src/transpiler/hir/parsing_hir/complex_literals.rs:62:81
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if content.peek(syn::Ident) { let elem_ident: Ident = content.parse()?; elem_type = elem_ident.to_string(); }
[INFO] [stdout]    |                                                                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `elem_type` is never read
[INFO] [stdout]   --> gourd-codegen/src/transpiler/hir/parsing_hir/complex_literals.rs:64:86
[INFO] [stdout]    |
[INFO] [stdout] 64 |             && content.peek(syn::Ident) { let inner_ident: Ident = content.parse()?; elem_type = format!("[]{}", inner_ident); }
[INFO] [stdout]    |                                                                                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `elem_type` is never read
[INFO] [stdout]   --> gourd-codegen/src/transpiler/hir/parsing_hir/complex_literals.rs:62:81
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if content.peek(syn::Ident) { let elem_ident: Ident = content.parse()?; elem_type = elem_ident.to_string(); }
[INFO] [stdout]    |                                                                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:407:33
[INFO] [stdout]     |
[INFO] [stdout] 407 | ...                   depth = 1;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `elem_type` is never read
[INFO] [stdout]   --> gourd-codegen/src/transpiler/hir/parsing_hir/complex_literals.rs:64:86
[INFO] [stdout]    |
[INFO] [stdout] 64 |             && content.peek(syn::Ident) { let inner_ident: Ident = content.parse()?; elem_type = format!("[]{}", inner_ident); }
[INFO] [stdout]    |                                                                                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `elem_type` is never read
[INFO] [stdout]   --> gourd-codegen/src/transpiler/hir/parsing_hir/complex_literals.rs:62:81
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if content.peek(syn::Ident) { let elem_ident: Ident = content.parse()?; elem_type = elem_ident.to_string(); }
[INFO] [stdout]    |                                                                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gourd-macro v0.1.1 (/opt/rustwide/workdir/gourd-macro)
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/expressions.rs:500:33
[INFO] [stdout]     |
[INFO] [stdout] 500 | ...                   depth = 1;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `depth` is never read
[INFO] [stdout]    --> gourd-codegen/src/transpiler/hir/parsing_hir/statement_parsing.rs:407:33
[INFO] [stdout]     |
[INFO] [stdout] 407 | ...                   depth = 1;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `elem_type` is never read
[INFO] [stdout]   --> gourd-codegen/src/transpiler/hir/parsing_hir/complex_literals.rs:64:86
[INFO] [stdout]    |
[INFO] [stdout] 64 |             && content.peek(syn::Ident) { let inner_ident: Ident = content.parse()?; elem_type = format!("[]{}", inner_ident); }
[INFO] [stdout]    |                                                                                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `elem_type` is never read
[INFO] [stdout]   --> gourd-codegen/src/transpiler/hir/parsing_hir/complex_literals.rs:62:81
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if content.peek(syn::Ident) { let elem_ident: Ident = content.parse()?; elem_type = elem_ident.to_string(); }
[INFO] [stdout]    |                                                                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking gourd v0.1.1 (/opt/rustwide/workdir/gourd)
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get_ref`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get_ref`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut_ref`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]   --> gourd/src/lib.rs:48:57
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut_ref`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::make_map`: Use GoMap::new() instead
[INFO] [stdout]   --> gourd/src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     make_map, std_delete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]   --> gourd/src/lib.rs:48:57
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete`: Use GoMap::delete() instead
[INFO] [stdout]   --> gourd/src/lib.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     make_map, std_delete,
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::make_map`: Use GoMap::new() instead
[INFO] [stdout]   --> gourd/src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     make_map, std_delete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete`: Use GoMap::delete() instead
[INFO] [stdout]   --> gourd/src/lib.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     make_map, std_delete,
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::make_map`: Use GoMap::new() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get`: Use GoMap::get() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get_ref`: Use GoMap::get() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:47
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut_ref`: Use GoMap::set() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:60
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:77
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete`: Use GoMap::delete() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:90
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete_go_map`: Use GoMap::delete() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:102
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::make_map`: Use GoMap::new() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get`: Use GoMap::get() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get_ref`: Use GoMap::get() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:47
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut_ref`: Use GoMap::set() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:60
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:77
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete`: Use GoMap::delete() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:90
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete_go_map`: Use GoMap::delete() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:102
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get_ref`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:27
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut_ref`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd/src/lib.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]   --> gourd/src/lib.rs:48:57
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val,
[INFO] [stdout]    |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::make_map`: Use GoMap::new() instead
[INFO] [stdout]   --> gourd/src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     make_map, std_delete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete`: Use GoMap::delete() instead
[INFO] [stdout]   --> gourd/src/lib.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     make_map, std_delete,
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::make_map`: Use GoMap::new() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get`: Use GoMap::get() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_get_ref`: Use GoMap::get() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:47
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_mut_ref`: Use GoMap::set() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:60
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:77
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete`: Use GoMap::delete() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:90
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `prelude::std::std_delete_go_map`: Use GoMap::delete() instead
[INFO] [stdout]    --> gourd/src/prelude/mod.rs:115:102
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub use std::{make_map, map_get, map_get_ref, map_set_mut, map_set_mut_ref, map_set_val, std_delete, std_delete_go_map};
[INFO] [stdout]     |                                                                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gourd-check v0.1.0 (/opt/rustwide/workdir/gourd-check)
[INFO] [stdout] warning: use of deprecated function `gourd::map_get`: Use GoMap::get() instead
[INFO] [stdout]  --> gourd-macro/tests/prelude_map_ops.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gourd::prelude::{map_get, map_set_mut, map_set_val};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]  --> gourd-macro/tests/prelude_map_ops.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gourd::prelude::{map_get, map_set_mut, map_set_val};
[INFO] [stdout]   |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]  --> gourd-macro/tests/prelude_map_ops.rs:3:44
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gourd::prelude::{map_get, map_set_mut, map_set_val};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_get`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd-macro/tests/prelude_map_ops.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     assert_eq!(map_get(&map, "a".to_string()), 42);
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_get`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd-macro/tests/prelude_map_ops.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     assert_eq!(map_get(&map, "b".to_string()), 7);
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_get`: Use GoMap::get() instead
[INFO] [stdout]   --> gourd-macro/tests/prelude_map_ops.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 |     assert_eq!(map_get(&map, "c".to_string()), 0); // default for missing key
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd-macro/tests/prelude_map_ops.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     assert_eq!(*map_set_mut(&mut map, "b".to_string()), 0);
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd-macro/tests/prelude_map_ops.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |     assert_eq!(*map_set_mut(&mut map, "a".to_string()), 42);
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_set_mut`: Use GoMap::set() instead
[INFO] [stdout]   --> gourd-macro/tests/prelude_map_ops.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 |     *map_set_mut(&mut map, "a".to_string()) += 10;
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]   --> gourd-macro/tests/prelude_map_ops.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     map_set_val(&mut map, "a".to_string(), 42);
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `gourd::map_set_val`: Use GoMap::set() then dereference, or insert directly
[INFO] [stdout]   --> gourd-macro/tests/prelude_map_ops.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     map_set_val(&mut map, "b".to_string(), 7);
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> gourd/src/go_slice.rs:707:13
[INFO] [stdout]     |
[INFO] [stdout] 707 |         let mut s = GoSlice::from_vec(vec![0xff, 0xfe]);
[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]    --> gourd/src/go_map.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let mut m: GoMap<String, i32> = GoMap::new();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goFn` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/transpile_go_fn.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn goFn(tokens: TokenStream) -> TokenStream {
[INFO] [stdout]    |    ^^^^ help: convert the identifier to snake case: `go_fn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stdio`
[INFO] [stdout]   --> gourd-check/tests/test_examples.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::process::{Command, Stdio};
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAdd
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goChannelRecv
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: ch
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Converted type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "ch", span: #0 bytes(245..247) }, HirType { kind: Channel(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ch, span: #0 bytes(285..287) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ch'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goCopySlice
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: dst, span: #0 bytes(290..293) }, Punct { char: ':', spacing: Joint, span: #0 bytes(294..295) }, Punct { char: '=', spacing: Alone, span: #0 bytes(295..296) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'dst'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: copy, span: #0 bytes(365..369) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "dst", span: #0 bytes(370..373) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(373..374) }, Ident { ident: "src", span: #0 bytes(375..378) }], span: #0 bytes(369..379) }, Ident { sym: return, span: #0 bytes(388..394) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'copy'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=copy
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: dst, span: #0 bytes(370..373) }, Punct { char: ',', spacing: Alone, span: #0 bytes(373..374) }, Ident { sym: src, span: #0 bytes(375..378) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'dst'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: src, span: #0 bytes(375..378) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'src'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: result, span: #0 bytes(395..401) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'result'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goCopyPartial
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: dst, span: #0 bytes(456..459) }, Punct { char: ':', spacing: Joint, span: #0 bytes(460..461) }, Punct { char: '=', spacing: Alone, span: #0 bytes(461..462) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'dst'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: copy, span: #0 bytes(541..545) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "dst", span: #0 bytes(546..549) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(549..550) }, Ident { ident: "src", span: #0 bytes(551..554) }], span: #0 bytes(545..555) }, Ident { sym: return, span: #0 bytes(564..570) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'copy'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=copy
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: dst, span: #0 bytes(546..549) }, Punct { char: ',', spacing: Alone, span: #0 bytes(549..550) }, Ident { sym: src, span: #0 bytes(551..554) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'dst'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: src, span: #0 bytes(551..554) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'src'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: result, span: #0 bytes(571..577) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'result'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goDeleteFromMap
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(831..832) }, Punct { char: ':', spacing: Joint, span: #0 bytes(833..834) }, Punct { char: '=', spacing: Alone, span: #0 bytes(834..835) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=delete
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(890..891) }, Punct { char: ',', spacing: Alone, span: #0 bytes(891..892) }, Literal { kind: Str, symbol: "b", suffix: None, span: #0 bytes(893..896) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(913..916) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "m", span: #0 bytes(917..918) }], span: #0 bytes(916..919) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(917..918) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goDeleteNonexistent
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(980..981) }, Punct { char: ':', spacing: Joint, span: #0 bytes(982..983) }, Punct { char: '=', spacing: Alone, span: #0 bytes(983..984) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=delete
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1031..1032) }, Punct { char: ',', spacing: Alone, span: #0 bytes(1032..1033) }, Literal { kind: Str, symbol: "z", suffix: None, span: #0 bytes(1034..1037) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1054..1057) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "m", span: #0 bytes(1058..1059) }], span: #0 bytes(1057..1060) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1058..1059) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAppendSingle
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: s, span: #0 bytes(1313..1314) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1315..1316) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1316..1317) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 's'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: append, span: #0 bytes(1351..1357) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "s", span: #0 bytes(1358..1359) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1359..1360) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(1361..1362) }], span: #0 bytes(1357..1363) }, Ident { sym: return, span: #0 bytes(1372..1378) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'append'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=append
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: s, span: #0 bytes(1358..1359) }, Punct { char: ',', spacing: Alone, span: #0 bytes(1359..1360) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(1361..1362) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 's'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1379..1382) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "result", span: #0 bytes(1383..1389) }], span: #0 bytes(1382..1390) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: result, span: #0 bytes(1383..1389) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'result'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAppendMultiple
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: s, span: #0 bytes(1448..1449) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1450..1451) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1451..1452) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 's'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: append, span: #0 bytes(1486..1492) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "s", span: #0 bytes(1493..1494) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1494..1495) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(1496..1497) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1497..1498) }, Literal { kind: Integer, symbol: "5", suffix: None, span: #0 bytes(1499..1500) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1500..1501) }, Literal { kind: Integer, symbol: "6", suffix: None, span: #0 bytes(1502..1503) }], span: #0 bytes(1492..1504) }, Ident { sym: return, span: #0 bytes(1513..1519) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'append'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=append
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: s, span: #0 bytes(1493..1494) }, Punct { char: ',', spacing: Alone, span: #0 bytes(1494..1495) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(1496..1497) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 's'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1520..1523) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "result", span: #0 bytes(1524..1530) }], span: #0 bytes(1523..1531) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: result, span: #0 bytes(1524..1530) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'result'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAppendEmpty
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: s, span: #0 bytes(1586..1587) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1588..1589) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1589..1590) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 's'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: append, span: #0 bytes(1624..1630) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "s", span: #0 bytes(1631..1632) }], span: #0 bytes(1630..1633) }, Ident { sym: return, span: #0 bytes(1642..1648) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'append'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=append
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: s, span: #0 bytes(1631..1632) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 's'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1649..1652) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "result", span: #0 bytes(1653..1659) }], span: #0 bytes(1652..1660) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: result, span: #0 bytes(1653..1659) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'result'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> gourd-macro/tests/std_copy_delete_append.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAppendItem
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Slice(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: append, span: #0 bytes(225..231) }, Group { delimiter: Parenthesis, stream: TokenStream [Group { delimiter: Bracket, stream: TokenStream [], span: #0 bytes(232..234) }, Ident { ident: "int", span: #0 bytes(234..237) }, Group { delimiter: Brace, stream: TokenStream [Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(238..239) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(239..240) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(241..242) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(242..243) }, Literal { kind: Integer, symbol: "3", suffix: None, span: #0 bytes(244..245) }], span: #0 bytes(237..246) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(246..247) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(248..249) }], span: #0 bytes(231..250) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'append'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=append
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goCopySlice` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/std_copy_delete_append.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     func goCopySlice() int {
[INFO] [stdout]   |          ^^^^^^^^^^^ help: convert the identifier to snake case: `go_copy_slice`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goCopyPartial` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/std_copy_delete_append.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |     func goCopyPartial() int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_copy_partial`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goDeleteFromMap` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/std_copy_delete_append.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 |     func goDeleteFromMap() int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_delete_from_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goDeleteNonexistent` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/std_copy_delete_append.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 |     func goDeleteNonexistent() int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_delete_nonexistent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goAppendSingle` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/std_copy_delete_append.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |     func goAppendSingle() int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_append_single`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goAppendMultiple` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/std_copy_delete_append.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |     func goAppendMultiple() int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_append_multiple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goAppendEmpty` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/std_copy_delete_append.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 |     func goAppendEmpty() int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_append_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goDayName
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: d
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "d", span: #0 bytes(152..153) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: switch, span: #0 bytes(176..182) }, Ident { sym: d, span: #0 bytes(183..184) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "case", span: #0 bytes(195..199) }, Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(200..201) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(201..202) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(203..204) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(204..205) }, Literal { kind: Integer, symbol: "3", suffix: None, span: #0 bytes(206..207) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(207..208) }, Ident { ident: "return", span: #0 bytes(221..227) }, Literal { kind: Str, symbol: "weekday", suffix: None, span: #0 bytes(228..237) }, Ident { ident: "case", span: #0 bytes(246..250) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(251..252) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(252..253) }, Literal { kind: Integer, symbol: "5", suffix: None, span: #0 bytes(254..255) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(255..256) }, Ident { ident: "return", span: #0 bytes(269..275) }, Literal { kind: Str, symbol: "almost_weekend", suffix: None, span: #0 bytes(276..292) }, Ident { ident: "case", span: #0 bytes(301..305) }, Literal { kind: Integer, symbol: "6", suffix: None, span: #0 bytes(306..307) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(307..308) }, Literal { kind: Integer, symbol: "7", suffix: None, span: #0 bytes(309..310) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(310..311) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(312..313) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(313..314) }, Ident { ident: "return", span: #0 bytes(327..333) }, Literal { kind: Str, symbol: "weekend", suffix: None, span: #0 bytes(334..343) }, Ident { ident: "default", span: #0 bytes(352..359) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(359..360) }, Ident { ident: "return", span: #0 bytes(373..379) }, Literal { kind: Str, symbol: "invalid", suffix: None, span: #0 bytes(380..389) }], span: #0 bytes(185..399) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'switch'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: d, span: #0 bytes(183..184) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "case", span: #0 bytes(195..199) }, Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(200..201) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(201..202) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(203..204) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(204..205) }, Literal { kind: Integer, symbol: "3", suffix: None, span: #0 bytes(206..207) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(207..208) }, Ident { ident: "return", span: #0 bytes(221..227) }, Literal { kind: Str, symbol: "weekday", suffix: None, span: #0 bytes(228..237) }, Ident { ident: "case", span: #0 bytes(246..250) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(251..252) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(252..253) }, Literal { kind: Integer, symbol: "5", suffix: None, span: #0 bytes(254..255) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(255..256) }, Ident { ident: "return", span: #0 bytes(269..275) }, Literal { kind: Str, symbol: "almost_weekend", suffix: None, span: #0 bytes(276..292) }, Ident { ident: "case", span: #0 bytes(301..305) }, Literal { kind: Integer, symbol: "6", suffix: None, span: #0 bytes(306..307) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(307..308) }, Literal { kind: Integer, symbol: "7", suffix: None, span: #0 bytes(309..310) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(310..311) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(312..313) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(313..314) }, Ident { ident: "return", span: #0 bytes(327..333) }, Literal { kind: Str, symbol: "weekend", suffix: None, span: #0 bytes(334..343) }, Ident { ident: "default", span: #0 bytes(352..359) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(359..360) }, Ident { ident: "return", span: #0 bytes(373..379) }, Literal { kind: Str, symbol: "invalid", suffix: None, span: #0 bytes(380..389) }], span: #0 bytes(185..399) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'd'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMinimal
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: n
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "n", span: #0 bytes(113..114) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stdout] warning: function `goDayName` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/multi_case_switch.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     func goDayName(d int) string {
[INFO] [stdout]   |          ^^^^^^^^^ help: convert the identifier to snake case: `go_day_name`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(151..152) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "case", span: #0 bytes(163..167) }, Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(168..169) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(169..170) }, Literal { kind: Str, symbol: "one", suffix: None, span: #0 bytes(183..188) }, Ident { ident: "case", span: #0 bytes(197..201) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(202..203) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(203..204) }, Literal { kind: Str, symbol: "two", suffix: None, span: #0 bytes(217..222) }, Ident { ident: "default", span: #0 bytes(231..238) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(238..239) }, Literal { kind: Str, symbol: "other", suffix: None, span: #0 bytes(252..259) }], span: #0 bytes(153..269) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: go_divmod
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: n
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "n", span: #0 bytes(189..190) }, HirType { kind: I32 }), (Ident { ident: "d", span: #0 bytes(196..197) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }, HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(231..232) }, Punct { char: '/', spacing: Alone, span: #0 bytes(233..234) }, Ident { sym: d, span: #0 bytes(235..236) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: d, span: #0 bytes(235..236) }, Punct { char: ',', spacing: Alone, span: #0 bytes(236..237) }, Ident { sym: n, span: #0 bytes(238..239) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'd'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(238..239) }, Punct { char: '%', spacing: Alone, span: #0 bytes(240..241) }, Ident { sym: d, span: #0 bytes(242..243) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: d, span: #0 bytes(242..243) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'd'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSumSlice
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: data
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "data", span: #0 bytes(203..207) }, HirType { kind: SliceRef(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: sum, span: #0 bytes(229..232) }, Punct { char: ':', spacing: Joint, span: #0 bytes(233..234) }, Punct { char: '=', spacing: Alone, span: #0 bytes(234..235) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'sum'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: data, span: #0 bytes(264..268) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "if", span: #0 bytes(283..285) }, Ident { ident: "i", span: #0 bytes(286..287) }, Punct { ch: '>', spacing: Joint, span: #0 bytes(288..289) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(289..290) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(291..292) }, Punct { ch: '&', spacing: Joint, span: #0 bytes(293..294) }, Punct { ch: '&', spacing: Alone, span: #0 bytes(294..295) }, Ident { ident: "v", span: #0 bytes(296..297) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(298..299) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(300..301) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "sum", span: #0 bytes(320..323) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(324..325) }, Ident { ident: "sum", span: #0 bytes(326..329) }, Punct { ch: '+', spacing: Alone, span: #0 bytes(330..331) }, Ident { ident: "v", span: #0 bytes(332..333) }], span: #0 bytes(302..347) }], span: #0 bytes(269..357) }, Ident { sym: return, span: #0 bytes(366..372) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'data'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: i, span: #0 bytes(286..287) }, Punct { char: '>', spacing: Joint, span: #0 bytes(288..289) }, Punct { char: '=', spacing: Alone, span: #0 bytes(289..290) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'i'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: v, span: #0 bytes(296..297) }, Punct { char: '>', spacing: Alone, span: #0 bytes(298..299) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(300..301) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'v'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: sum, span: #0 bytes(320..323) }, Punct { char: '=', spacing: Alone, span: #0 bytes(324..325) }, Ident { sym: sum, span: #0 bytes(326..329) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'sum'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: sum, span: #0 bytes(326..329) }, Punct { char: '+', spacing: Alone, span: #0 bytes(330..331) }, Ident { sym: v, span: #0 bytes(332..333) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'sum'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: v, span: #0 bytes(332..333) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'v'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: sum, span: #0 bytes(373..376) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'sum'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goMinimal` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/switch_minimal.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     func goMinimal(n int) string {
[INFO] [stdout]   |          ^^^^^^^^^ help: convert the identifier to snake case: `go_minimal`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goShorthand2
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=true
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=true
[INFO] [stderr] [DEBUG] Parsing grouped params
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(243..244) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(246..247) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(274..275) }, Punct { char: '+', spacing: Alone, span: #0 bytes(276..277) }, Ident { sym: b, span: #0 bytes(278..279) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(278..279) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTypeAssertInt
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "x", span: #0 bytes(225..226) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(257..258) }, Punct { char: '.', spacing: Alone, span: #0 bytes(258..259) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "int", span: #0 bytes(260..263) }], span: #0 bytes(259..264) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goRecoverNoPanic
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: result, span: #0 bytes(167..173) }, Punct { char: ':', spacing: Joint, span: #0 bytes(174..175) }, Punct { char: '=', spacing: Alone, span: #0 bytes(175..176) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'result'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: recover, span: #0 bytes(177..184) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(184..186) }, Ident { sym: if, span: #0 bytes(195..197) }]
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: result, span: #0 bytes(198..204) }, Punct { char: '!', spacing: Joint, span: #0 bytes(205..206) }, Punct { char: '=', spacing: Alone, span: #0 bytes(206..207) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'result'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: nil, span: #0 bytes(208..211) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "return", span: #0 bytes(226..232) }, Literal { kind: Str, symbol: "caught", suffix: None, span: #0 bytes(233..241) }], span: #0 bytes(212..251) }, Ident { sym: return, span: #0 bytes(260..266) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'nil'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAppendMultiple
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Slice(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: append, span: #0 bytes(348..354) }, Group { delimiter: Parenthesis, stream: TokenStream [Group { delimiter: Bracket, stream: TokenStream [], span: #0 bytes(355..357) }, Ident { ident: "int", span: #0 bytes(357..360) }, Group { delimiter: Brace, stream: TokenStream [Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(361..362) }], span: #0 bytes(360..363) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(363..364) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(365..366) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(366..367) }, Literal { kind: Integer, symbol: "3", suffix: None, span: #0 bytes(368..369) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(369..370) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(371..372) }], span: #0 bytes(354..373) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'append'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=append
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAdd
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSum
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: a
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(539..540) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(546..547) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(574..575) }, Punct { char: '+', spacing: Alone, span: #0 bytes(576..577) }, Ident { sym: b, span: #0 bytes(578..579) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(578..579) }, Punct { char: ';', spacing: Alone, span: #0 bytes(579..580) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTypeAssertString
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "x", span: #0 bytes(463..464) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(498..499) }, Punct { char: '.', spacing: Alone, span: #0 bytes(499..500) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "string", span: #0 bytes(501..507) }], span: #0 bytes(500..508) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goCountPositive
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: data
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "data", span: #0 bytes(568..572) }, HirType { kind: SliceRef(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: count, span: #0 bytes(594..599) }, Punct { char: ':', spacing: Joint, span: #0 bytes(600..601) }, Punct { char: '=', spacing: Alone, span: #0 bytes(601..602) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'count'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: data, span: #0 bytes(628..632) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "if", span: #0 bytes(647..649) }, Ident { ident: "data", span: #0 bytes(650..654) }, Group { delimiter: Bracket, stream: TokenStream [Ident { ident: "i", span: #0 bytes(655..656) }], span: #0 bytes(654..657) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(658..659) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(660..661) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "count", span: #0 bytes(680..685) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(686..687) }, Ident { ident: "count", span: #0 bytes(688..693) }, Punct { ch: '+', spacing: Alone, span: #0 bytes(694..695) }, Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(696..697) }], span: #0 bytes(662..711) }], span: #0 bytes(633..721) }, Ident { sym: return, span: #0 bytes(730..736) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'data'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: data, span: #0 bytes(650..654) }, Group { delimiter: Bracket, stream: TokenStream [Ident { ident: "i", span: #0 bytes(655..656) }], span: #0 bytes(654..657) }, Punct { char: '>', spacing: Alone, span: #0 bytes(658..659) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'data'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=true, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: i, span: #0 bytes(655..656) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'i'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: count, span: #0 bytes(680..685) }, Punct { char: '=', spacing: Alone, span: #0 bytes(686..687) }, Ident { sym: count, span: #0 bytes(688..693) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'count'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: count, span: #0 bytes(688..693) }, Punct { char: '+', spacing: Alone, span: #0 bytes(694..695) }, Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(696..697) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'count'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: count, span: #0 bytes(737..742) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'count'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goShorthand2
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=true
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=true
[INFO] [stderr] [DEBUG] Parsing grouped params
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(243..244) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(246..247) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(274..275) }, Punct { char: '+', spacing: Alone, span: #0 bytes(276..277) }, Ident { sym: b, span: #0 bytes(278..279) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(278..279) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goShorthand3
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=true
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=true
[INFO] [stderr] [DEBUG] Parsing grouped params
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(549..550) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(552..553) }, HirType { kind: I32 }), (Ident { ident: "c", span: #0 bytes(555..556) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(583..584) }, Punct { char: '+', spacing: Alone, span: #0 bytes(585..586) }, Ident { sym: b, span: #0 bytes(587..588) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(587..588) }, Punct { char: '+', spacing: Alone, span: #0 bytes(589..590) }, Ident { sym: c, span: #0 bytes(591..592) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(591..592) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: go_divmod
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: n
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "n", span: #0 bytes(189..190) }, HirType { kind: I32 }), (Ident { ident: "d", span: #0 bytes(196..197) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }, HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(231..232) }, Punct { char: '/', spacing: Alone, span: #0 bytes(233..234) }, Ident { sym: d, span: #0 bytes(235..236) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: d, span: #0 bytes(235..236) }, Punct { char: ',', spacing: Alone, span: #0 bytes(236..237) }, Ident { sym: n, span: #0 bytes(238..239) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'd'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(238..239) }, Punct { char: '%', spacing: Alone, span: #0 bytes(240..241) }, Ident { sym: d, span: #0 bytes(242..243) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: d, span: #0 bytes(242..243) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'd'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: go_triple
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: a
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(571..572) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(578..579) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }, HirType { kind: I32 }, HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(621..622) }, Punct { char: '+', spacing: Alone, span: #0 bytes(623..624) }, Ident { sym: b, span: #0 bytes(625..626) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(625..626) }, Punct { char: ',', spacing: Alone, span: #0 bytes(626..627) }, Ident { sym: a, span: #0 bytes(628..629) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(628..629) }, Punct { char: '*', spacing: Alone, span: #0 bytes(630..631) }, Ident { sym: b, span: #0 bytes(632..633) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(632..633) }, Punct { char: ',', spacing: Alone, span: #0 bytes(633..634) }, Literal { kind: Str, symbol: "pair", suffix: None, span: #0 bytes(635..641) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goRecoverAfterPanic
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(583..584) }, Punct { char: ':', spacing: Joint, span: #0 bytes(585..586) }, Punct { char: '=', spacing: Alone, span: #0 bytes(586..587) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: panic, span: #0 bytes(613..618) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Str, symbol: "oops", suffix: None, span: #0 bytes(619..625) }], span: #0 bytes(618..626) }, Ident { sym: return, span: #0 bytes(639..645) }]
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: recover, span: #0 bytes(688..695) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(695..697) }, Ident { sym: if, span: #0 bytes(706..708) }]
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: result, span: #0 bytes(709..715) }, Punct { char: '!', spacing: Joint, span: #0 bytes(716..717) }, Punct { char: '=', spacing: Alone, span: #0 bytes(717..718) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'result'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: nil, span: #0 bytes(719..722) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "return", span: #0 bytes(737..743) }, Literal { kind: Str, symbol: "caught", suffix: None, span: #0 bytes(744..752) }], span: #0 bytes(723..762) }, Ident { sym: return, span: #0 bytes(771..777) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'nil'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> gourd-macro/tests/recover_builtin_test.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / go! {
[INFO] [stdout] 21 | |     func goRecoverAfterPanic() string {
[INFO] [stdout] 22 | |         f := func() int {
[INFO] [stdout] 23 | |             panic("oops")
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_unreachable statement
[INFO] [stdout]    |   any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `go` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTypeAssertFloat64
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "x", span: #0 bytes(728..729) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: F64 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(760..761) }, Punct { char: '.', spacing: Alone, span: #0 bytes(761..762) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "float64", span: #0 bytes(763..770) }], span: #0 bytes(762..771) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goRecoverNoPanic` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/recover_builtin_test.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     func goRecoverNoPanic() string {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_recover_no_panic`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goRecoverAfterPanic` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/recover_builtin_test.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     func goRecoverAfterPanic() string {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_recover_after_panic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAppendNoop
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Slice(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: append, span: #0 bytes(474..480) }, Group { delimiter: Parenthesis, stream: TokenStream [Group { delimiter: Bracket, stream: TokenStream [], span: #0 bytes(481..483) }, Ident { ident: "int", span: #0 bytes(483..486) }, Group { delimiter: Brace, stream: TokenStream [Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(487..488) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(488..489) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(490..491) }], span: #0 bytes(486..492) }], span: #0 bytes(480..493) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'append'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=append
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTypeAssertUint
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "x", span: #0 bytes(972..973) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: U32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(1005..1006) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1006..1007) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "uint", span: #0 bytes(1008..1012) }], span: #0 bytes(1007..1013) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSum
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: a
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(539..540) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(546..547) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(574..575) }, Punct { char: '+', spacing: Alone, span: #0 bytes(576..577) }, Ident { sym: b, span: #0 bytes(578..579) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(578..579) }, Punct { char: ';', spacing: Alone, span: #0 bytes(579..580) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAbs
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: n
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "n", span: #0 bytes(980..981) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ret, span: #0 bytes(1001..1004) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1005..1006) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1006..1007) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ret'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(1008..1009) }, Ident { sym: if, span: #0 bytes(1018..1020) }, Ident { sym: n, span: #0 bytes(1021..1022) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(1021..1022) }, Punct { char: '<', spacing: Alone, span: #0 bytes(1023..1024) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1025..1026) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ret, span: #0 bytes(1041..1044) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1045..1046) }, Punct { char: '-', spacing: Alone, span: #0 bytes(1047..1048) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ret'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ret, span: #0 bytes(1048..1051) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ret'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ret, span: #0 bytes(1077..1080) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ret'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goShorthand3
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=true
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=true
[INFO] [stderr] [DEBUG] Parsing grouped params
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(549..550) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(552..553) }, HirType { kind: I32 }), (Ident { ident: "c", span: #0 bytes(555..556) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(583..584) }, Punct { char: '+', spacing: Alone, span: #0 bytes(585..586) }, Ident { sym: b, span: #0 bytes(587..588) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(587..588) }, Punct { char: '+', spacing: Alone, span: #0 bytes(589..590) }, Ident { sym: c, span: #0 bytes(591..592) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(591..592) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: go_triple
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: a
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(571..572) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(578..579) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }, HirType { kind: I32 }, HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(621..622) }, Punct { char: '+', spacing: Alone, span: #0 bytes(623..624) }, Ident { sym: b, span: #0 bytes(625..626) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(625..626) }, Punct { char: ',', spacing: Alone, span: #0 bytes(626..627) }, Ident { sym: a, span: #0 bytes(628..629) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(628..629) }, Punct { char: '*', spacing: Alone, span: #0 bytes(630..631) }, Ident { sym: b, span: #0 bytes(632..633) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(632..633) }, Punct { char: ',', spacing: Alone, span: #0 bytes(633..634) }, Literal { kind: Str, symbol: "pair", suffix: None, span: #0 bytes(635..641) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSkipFirst
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: data
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "data", span: #0 bytes(920..924) }, HirType { kind: SliceRef(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1022..1025) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "data", span: #0 bytes(1026..1030) }], span: #0 bytes(1025..1031) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: data, span: #0 bytes(1026..1030) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'data'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMapSize
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: _a
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoString
[INFO] [stderr] [DEBUG] Converted type: :: gourd :: GoString
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "_a", span: #0 bytes(1208..1210) }, HirType { kind: StringTy })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1233..1234) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1235..1236) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1236..1237) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1292..1295) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "m", span: #0 bytes(1296..1297) }], span: #0 bytes(1295..1298) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1296..1297) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goShorthand2` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/shorthand_query.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     func goShorthand2(a, b int) int {
[INFO] [stdout]   |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `go_shorthand2`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goShorthand3` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/shorthand_query.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     func goShorthand3(a, b, c int) int {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `go_shorthand3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goSumSlice` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/for_range_test.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     func goSumSlice(data []int) int {
[INFO] [stdout]   |          ^^^^^^^^^^ help: convert the identifier to snake case: `go_sum_slice`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goCountPositive` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/for_range_test.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |     func goCountPositive(data []int) int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_count_positive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goSkipFirst` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/for_range_test.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func goSkipFirst(data []int) int {
[INFO] [stdout]    |          ^^^^^^^^^^^ help: convert the identifier to snake case: `go_skip_first`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTypeAssertBool
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "x", span: #0 bytes(1220..1221) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Bool }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(1253..1254) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1254..1255) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "bool", span: #0 bytes(1256..1260) }], span: #0 bytes(1255..1261) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTypeAssertByte
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "x", span: #0 bytes(1458..1459) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: U8 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(1491..1492) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1492..1493) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "byte", span: #0 bytes(1494..1498) }], span: #0 bytes(1493..1499) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAppendVar
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: data
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "data", span: #0 bytes(566..570) }, HirType { kind: SliceRef(HirType { kind: I32 }) }), (Ident { ident: "x", span: #0 bytes(578..579) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Slice(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: append, span: #0 bytes(608..614) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "data", span: #0 bytes(615..619) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(619..620) }, Ident { ident: "x", span: #0 bytes(621..622) }], span: #0 bytes(614..623) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'append'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=append
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: data, span: #0 bytes(615..619) }, Punct { char: ',', spacing: Alone, span: #0 bytes(619..620) }, Ident { sym: x, span: #0 bytes(621..622) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'data'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(621..622) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goAbs
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: n
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "n", span: #0 bytes(980..981) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ret, span: #0 bytes(1001..1004) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1005..1006) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1006..1007) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ret'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(1008..1009) }, Ident { sym: if, span: #0 bytes(1018..1020) }, Ident { sym: n, span: #0 bytes(1021..1022) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(1021..1022) }, Punct { char: '<', spacing: Alone, span: #0 bytes(1023..1024) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1025..1026) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ret, span: #0 bytes(1041..1044) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1045..1046) }, Punct { char: '-', spacing: Alone, span: #0 bytes(1047..1048) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ret'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ret, span: #0 bytes(1048..1051) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ret'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ret, span: #0 bytes(1077..1080) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ret'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: isEven
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: n
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "n", span: #0 bytes(1882..1883) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Bool }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(1911..1912) }, Punct { char: '%', spacing: Alone, span: #0 bytes(1913..1914) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(1915..1916) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goClosureWithLen
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(106..107) }, Punct { char: ':', spacing: Joint, span: #0 bytes(108..109) }, Punct { char: '=', spacing: Alone, span: #0 bytes(109..110) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: arr
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(148..151) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "arr", span: #0 bytes(152..155) }], span: #0 bytes(151..156) }, Punct { char: '>', spacing: Alone, span: #0 bytes(157..158) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: arr, span: #0 bytes(152..155) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'arr'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMapSize
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: _a
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoString
[INFO] [stderr] [DEBUG] Converted type: :: gourd :: GoString
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "_a", span: #0 bytes(1208..1210) }, HirType { kind: StringTy })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1233..1234) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1235..1236) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1236..1237) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1292..1295) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "m", span: #0 bytes(1296..1297) }], span: #0 bytes(1295..1298) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1296..1297) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: arr, span: #0 bytes(186..189) }, Group { delimiter: Bracket, stream: TokenStream [Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(190..191) }], span: #0 bytes(189..192) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'arr'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=true, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(284..285) }, Group { delimiter: Parenthesis, stream: TokenStream [Punct { ch: '&', spacing: Alone, span: #0 bytes(286..287) }, Ident { ident: "data", span: #0 bytes(287..291) }], span: #0 bytes(285..292) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=f
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: data, span: #0 bytes(287..291) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'data'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goEmptyMap
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1686..1687) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1688..1689) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1689..1690) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1729..1732) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "m", span: #0 bytes(1733..1734) }], span: #0 bytes(1732..1735) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1733..1734) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goAppendItem` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/append_builtin.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 |     func goAppendItem() []int {
[INFO] [stdout]   |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `go_append_item`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goAppendMultiple` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/append_builtin.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |     func goAppendMultiple() []int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_append_multiple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goAppendNoop` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/append_builtin.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     func goAppendNoop() []int {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `go_append_noop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goAppendVar` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/append_builtin.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     func goAppendVar(data []int, x int) []int {
[INFO] [stdout]    |          ^^^^^^^^^^^ help: convert the identifier to snake case: `go_append_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTypeAssertRune
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "x", span: #0 bytes(1699..1700) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Char }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(1732..1733) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1733..1734) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "rune", span: #0 bytes(1735..1739) }], span: #0 bytes(1734..1740) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMin
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: a
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(43..44) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(50..51) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: min, span: #0 bytes(78..81) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "a", span: #0 bytes(82..83) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(83..84) }, Ident { ident: "b", span: #0 bytes(85..86) }], span: #0 bytes(81..87) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'min'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=min
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(82..83) }, Punct { char: ',', spacing: Alone, span: #0 bytes(83..84) }, Ident { sym: b, span: #0 bytes(85..86) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(85..86) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goClosureWithIndex
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(386..387) }, Punct { char: ':', spacing: Joint, span: #0 bytes(388..389) }, Punct { char: '=', spacing: Alone, span: #0 bytes(389..390) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: arr
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: arr, span: #0 bytes(432..435) }, Group { delimiter: Bracket, stream: TokenStream [Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(436..437) }], span: #0 bytes(435..438) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'arr'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=true, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(498..499) }, Group { delimiter: Parenthesis, stream: TokenStream [Punct { ch: '&', spacing: Alone, span: #0 bytes(500..501) }, Ident { ident: "data", span: #0 bytes(501..505) }], span: #0 bytes(499..506) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=f
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: data, span: #0 bytes(501..505) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'data'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMakeChannel
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Channel(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: make, span: #0 bytes(462..466) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "chan", span: #0 bytes(467..471) }, Ident { ident: "int", span: #0 bytes(472..475) }], span: #0 bytes(466..476) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'make'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=make
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goClosureWithLen` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/closure_builtin_test.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     func goClosureWithLen() int {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_closure_with_len`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goClosureWithIndex` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/closure_builtin_test.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     func goClosureWithIndex() int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_closure_with_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goNestedTypeAssert
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "x", span: #0 bytes(1941..1942) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(1973..1974) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1974..1975) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "int", span: #0 bytes(1976..1979) }], span: #0 bytes(1975..1980) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goTypeAssertInt` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/type_assertion.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |         func goTypeAssertInt(x int) int {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_type_assert_int`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goTypeAssertString` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/type_assertion.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |         func goTypeAssertString(x int) String {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_type_assert_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goTypeAssertFloat64` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/type_assertion.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |         func goTypeAssertFloat64(x int) f64 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_type_assert_float64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goTypeAssertUint` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/type_assertion.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 |         func goTypeAssertUint(x int) uint {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_type_assert_uint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goTypeAssertBool` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/type_assertion.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |         func goTypeAssertBool(x int) bool {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_type_assert_bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goTypeAssertByte` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/type_assertion.rs:70:14
[INFO] [stdout]    |
[INFO] [stdout] 70 |         func goTypeAssertByte(x int) byte {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_type_assert_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goTypeAssertRune` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/type_assertion.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 |         func goTypeAssertRune(x int) rune {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_type_assert_rune`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goNestedTypeAssert` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/type_assertion.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |         func goNestedTypeAssert(x int) int {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_nested_type_assert`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: isEven
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: n
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "n", span: #0 bytes(1882..1883) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Bool }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(1911..1912) }, Punct { char: '%', spacing: Alone, span: #0 bytes(1913..1914) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(1915..1916) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goIncr
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goMin` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/min_max_test.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     func goMin(a int, b int) int {
[INFO] [stdout]   |          ^^^^^ help: convert the identifier to snake case: `go_min`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goMax` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/min_max_test.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     func goMax(a int, b int) int {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case: `go_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goEmptyMap
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1686..1687) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1688..1689) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1689..1690) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1729..1732) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "m", span: #0 bytes(1733..1734) }], span: #0 bytes(1732..1735) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: m, span: #0 bytes(1733..1734) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'm'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMax
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: a
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(118..119) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(125..126) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: max, span: #0 bytes(153..156) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "a", span: #0 bytes(157..158) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(158..159) }, Ident { ident: "b", span: #0 bytes(160..161) }], span: #0 bytes(156..162) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'max'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=max
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(157..158) }, Punct { char: ',', spacing: Alone, span: #0 bytes(158..159) }, Ident { sym: b, span: #0 bytes(160..161) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(160..161) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMakeBufferedChannel
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Channel(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: make, span: #0 bytes(683..687) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "chan", span: #0 bytes(688..692) }, Ident { ident: "int", span: #0 bytes(693..696) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(696..697) }, Literal { kind: Integer, symbol: "10", suffix: None, span: #0 bytes(698..700) }], span: #0 bytes(687..701) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'make'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=make
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goIncr
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goStr
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: bytes
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < u8 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < u8 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "bytes", span: #0 bytes(6243..6248) }, HirType { kind: SliceRef(HirType { kind: U8 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: string, span: #0 bytes(6281..6287) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "bytes", span: #0 bytes(6288..6293) }], span: #0 bytes(6287..6294) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'string'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=string
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: bytes, span: #0 bytes(6288..6293) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'bytes'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goMapSize` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/multi_return_test.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 |     func goMapSize(_a string) int {
[INFO] [stdout]    |          ^^^^^^^^^ help: convert the identifier to snake case: `go_map_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goEmptyMap` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/multi_return_test.rs:68:10
[INFO] [stdout]    |
[INFO] [stdout] 68 |     func goEmptyMap() int {
[INFO] [stdout]    |          ^^^^^^^^^^ help: convert the identifier to snake case: `go_empty_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMakeStringChannel
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Channel(HirType { kind: StringTy }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: make, span: #0 bytes(920..924) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "chan", span: #0 bytes(925..929) }, Ident { ident: "string", span: #0 bytes(930..936) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(936..937) }, Literal { kind: Integer, symbol: "5", suffix: None, span: #0 bytes(938..939) }], span: #0 bytes(924..940) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'make'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=make
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goComplexBasic
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Complex128 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(173..174) }, Punct { char: ':', spacing: Joint, span: #0 bytes(175..176) }, Punct { char: '=', spacing: Alone, span: #0 bytes(176..177) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: complex, span: #0 bytes(178..185) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Float, symbol: "1.0", suffix: None, span: #0 bytes(186..189) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(189..190) }, Literal { kind: Float, symbol: "2.0", suffix: None, span: #0 bytes(191..194) }], span: #0 bytes(185..195) }, Ident { sym: return, span: #0 bytes(204..210) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'complex'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=complex
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(211..212) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: main
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(1179..1180) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1181..1182) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1182..1183) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: arr
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(1225..1228) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "arr", span: #0 bytes(1229..1232) }], span: #0 bytes(1228..1233) }, Punct { char: '>', spacing: Alone, span: #0 bytes(1234..1235) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: arr, span: #0 bytes(1229..1232) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'arr'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: arr, span: #0 bytes(1267..1270) }, Group { delimiter: Bracket, stream: TokenStream [Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(1271..1272) }], span: #0 bytes(1270..1273) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'arr'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=true, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(1385..1386) }, Group { delimiter: Parenthesis, stream: TokenStream [Punct { ch: '&', spacing: Alone, span: #0 bytes(1387..1388) }, Ident { ident: "data", span: #0 bytes(1388..1392) }], span: #0 bytes(1386..1393) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=f
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: data, span: #0 bytes(1388..1392) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'data'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goStr
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: bytes
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoSlice < u8 >
[INFO] [stderr] [DEBUG] Converted type: & :: gourd :: GoSlice < u8 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "bytes", span: #0 bytes(6243..6248) }, HirType { kind: SliceRef(HirType { kind: U8 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: string, span: #0 bytes(6281..6287) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "bytes", span: #0 bytes(6288..6293) }], span: #0 bytes(6287..6294) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'string'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=string
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: bytes, span: #0 bytes(6288..6293) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'bytes'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goShorthand
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=true
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=true
[INFO] [stderr] [DEBUG] Parsing grouped params
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(6718..6719) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(6721..6722) }, HirType { kind: I32 }), (Ident { ident: "c", span: #0 bytes(6724..6725) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(6752..6753) }, Punct { char: '+', spacing: Alone, span: #0 bytes(6754..6755) }, Ident { sym: b, span: #0 bytes(6756..6757) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(6756..6757) }, Punct { char: '+', spacing: Alone, span: #0 bytes(6758..6759) }, Ident { sym: c, span: #0 bytes(6760..6761) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(6760..6761) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSum
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: nums
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "nums", span: #0 bytes(159..163) }, HirType { kind: SliceRef(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: total, span: #0 bytes(186..191) }, Punct { char: ':', spacing: Joint, span: #0 bytes(192..193) }, Punct { char: '=', spacing: Alone, span: #0 bytes(193..194) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'total'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: nums, span: #0 bytes(225..229) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "if", span: #0 bytes(244..246) }, Ident { ident: "i", span: #0 bytes(247..248) }, Punct { ch: '>', spacing: Joint, span: #0 bytes(249..250) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(250..251) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(252..253) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "total", span: #0 bytes(272..277) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(278..279) }, Ident { ident: "total", span: #0 bytes(280..285) }, Punct { ch: '+', spacing: Alone, span: #0 bytes(286..287) }, Ident { ident: "num", span: #0 bytes(288..291) }], span: #0 bytes(254..305) }], span: #0 bytes(230..315) }, Ident { sym: return, span: #0 bytes(324..330) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'nums'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: i, span: #0 bytes(247..248) }, Punct { char: '>', spacing: Joint, span: #0 bytes(249..250) }, Punct { char: '=', spacing: Alone, span: #0 bytes(250..251) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'i'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: total, span: #0 bytes(272..277) }, Punct { char: '=', spacing: Alone, span: #0 bytes(278..279) }, Ident { sym: total, span: #0 bytes(280..285) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'total'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: total, span: #0 bytes(280..285) }, Punct { char: '+', spacing: Alone, span: #0 bytes(286..287) }, Ident { sym: num, span: #0 bytes(288..291) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'total'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: num, span: #0 bytes(288..291) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'num'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: total, span: #0 bytes(331..336) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'total'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goComplexExtractParts
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: F64 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(317..318) }, Punct { char: ':', spacing: Joint, span: #0 bytes(319..320) }, Punct { char: '=', spacing: Alone, span: #0 bytes(320..321) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: complex, span: #0 bytes(322..329) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Float, symbol: "3.0", suffix: None, span: #0 bytes(330..333) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(333..334) }, Literal { kind: Float, symbol: "4.0", suffix: None, span: #0 bytes(335..338) }], span: #0 bytes(329..339) }, Ident { sym: r, span: #0 bytes(348..349) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'complex'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=complex
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: real, span: #0 bytes(353..357) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "c", span: #0 bytes(358..359) }], span: #0 bytes(357..360) }, Ident { sym: i, span: #0 bytes(369..370) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'real'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=real
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(358..359) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: imag, span: #0 bytes(374..378) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "c", span: #0 bytes(379..380) }], span: #0 bytes(378..381) }, Ident { sym: return, span: #0 bytes(390..396) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'imag'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=imag
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(379..380) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: r, span: #0 bytes(397..398) }, Punct { char: '+', spacing: Alone, span: #0 bytes(399..400) }, Ident { sym: i, span: #0 bytes(401..402) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'r'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: i, span: #0 bytes(401..402) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'i'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goReplace
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(716..723) }, Punct { char: '.', spacing: Alone, span: #0 bytes(723..724) }, Ident { sym: Replace, span: #0 bytes(724..731) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goReplaceAll
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(828..835) }, Punct { char: '.', spacing: Alone, span: #0 bytes(835..836) }, Ident { sym: ReplaceAll, span: #0 bytes(836..846) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goHasPrefix
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Bool }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(916..923) }, Punct { char: '.', spacing: Alone, span: #0 bytes(923..924) }, Ident { sym: HasPrefix, span: #0 bytes(924..933) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goHasSuffix
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Bool }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(1010..1017) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1017..1018) }, Ident { sym: HasSuffix, span: #0 bytes(1018..1027) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goContains
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Bool }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(1103..1110) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1110..1111) }, Ident { sym: Contains, span: #0 bytes(1111..1119) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goJoin
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(1193..1200) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1200..1201) }, Ident { sym: Join, span: #0 bytes(1201..1205) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSplit
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Slice(HirType { kind: StringTy }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(1280..1287) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1287..1288) }, Ident { sym: Split, span: #0 bytes(1288..1293) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goIndex
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(1355..1362) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1362..1363) }, Ident { sym: Index, span: #0 bytes(1363..1368) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTrim
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(1442..1449) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1449..1450) }, Ident { sym: Trim, span: #0 bytes(1450..1454) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goToUpper
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: strings, span: #0 bytes(1525..1532) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1532..1533) }, Ident { sym: ToUpper, span: #0 bytes(1533..1540) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'strings'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goStructReturn
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Unknown("Point") }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goMakeMap
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Map(HirType { kind: StringTy }, HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: make, span: #0 bytes(1109..1113) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "map", span: #0 bytes(1114..1117) }, Group { delimiter: Bracket, stream: TokenStream [Ident { ident: "string", span: #0 bytes(1118..1124) }], span: #0 bytes(1117..1125) }, Ident { ident: "int", span: #0 bytes(1125..1128) }], span: #0 bytes(1113..1129) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'make'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=make
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: main
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(979..980) }, Punct { char: ':', spacing: Joint, span: #0 bytes(981..982) }, Punct { char: '=', spacing: Alone, span: #0 bytes(982..983) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goTimeNow
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I64 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: time, span: #0 bytes(1775..1779) }, Punct { char: '.', spacing: Alone, span: #0 bytes(1779..1780) }, Ident { sym: Now, span: #0 bytes(1780..1783) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'time'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goComplexArithmetic
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: F64 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(531..532) }, Punct { char: ':', spacing: Joint, span: #0 bytes(533..534) }, Punct { char: '=', spacing: Alone, span: #0 bytes(534..535) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: complex, span: #0 bytes(536..543) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Float, symbol: "1.0", suffix: None, span: #0 bytes(544..547) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(547..548) }, Literal { kind: Float, symbol: "2.0", suffix: None, span: #0 bytes(549..552) }], span: #0 bytes(543..553) }, Ident { sym: b, span: #0 bytes(562..563) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'complex'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=complex
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: complex, span: #0 bytes(567..574) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Float, symbol: "3.0", suffix: None, span: #0 bytes(575..578) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(578..579) }, Literal { kind: Float, symbol: "4.0", suffix: None, span: #0 bytes(580..583) }], span: #0 bytes(574..584) }, Ident { sym: c, span: #0 bytes(593..594) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'complex'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=complex
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(598..599) }, Punct { char: '+', spacing: Alone, span: #0 bytes(600..601) }, Ident { sym: b, span: #0 bytes(602..603) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(602..603) }, Ident { sym: return, span: #0 bytes(612..618) }, Ident { sym: real, span: #0 bytes(619..623) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: real, span: #0 bytes(619..623) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "c", span: #0 bytes(624..625) }], span: #0 bytes(623..626) }, Punct { char: '+', spacing: Alone, span: #0 bytes(627..628) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'real'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=real
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(624..625) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: imag, span: #0 bytes(629..633) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "c", span: #0 bytes(634..635) }], span: #0 bytes(633..636) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'imag'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=imag
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(634..635) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: unused imports: `Complex128` and `Complex64`
[INFO] [stdout]  --> gourd-macro/tests/complex_builtin_test.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gourd::prelude::{Complex64, Complex128};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goNestedStructs
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Unknown("Outer") }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goComplexBasic` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/complex_builtin_test.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     func goComplexBasic() Complex128 {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_complex_basic`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goComplexExtractParts` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/complex_builtin_test.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     func goComplexExtractParts() float64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_complex_extract_parts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goComplexArithmetic` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/complex_builtin_test.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     func goComplexArithmetic() float64 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_complex_arithmetic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goShorthand
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=true
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=true
[INFO] [stderr] [DEBUG] Parsing grouped params
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "a", span: #0 bytes(6718..6719) }, HirType { kind: I32 }), (Ident { ident: "b", span: #0 bytes(6721..6722) }, HirType { kind: I32 }), (Ident { ident: "c", span: #0 bytes(6724..6725) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: a, span: #0 bytes(6752..6753) }, Punct { char: '+', spacing: Alone, span: #0 bytes(6754..6755) }, Ident { sym: b, span: #0 bytes(6756..6757) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'a'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: b, span: #0 bytes(6756..6757) }, Punct { char: '+', spacing: Alone, span: #0 bytes(6758..6759) }, Ident { sym: c, span: #0 bytes(6760..6761) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'b'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: c, span: #0 bytes(6760..6761) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'c'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: hello
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::convert::From;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: main
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(781..782) }, Punct { char: ':', spacing: Joint, span: #0 bytes(783..784) }, Punct { char: '=', spacing: Alone, span: #0 bytes(784..785) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goCount
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: nums
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "nums", span: #0 bytes(476..480) }, HirType { kind: SliceRef(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: count, span: #0 bytes(503..508) }, Punct { char: ':', spacing: Joint, span: #0 bytes(509..510) }, Punct { char: '=', spacing: Alone, span: #0 bytes(510..511) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'count'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: len, span: #0 bytes(512..515) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "nums", span: #0 bytes(516..520) }], span: #0 bytes(515..521) }, Ident { sym: return, span: #0 bytes(530..536) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'len'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=len
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: nums, span: #0 bytes(516..520) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'nums'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: count, span: #0 bytes(537..542) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'count'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goStructInLet
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: p, span: #0 bytes(1465..1466) }, Punct { char: ':', spacing: Joint, span: #0 bytes(1467..1468) }, Punct { char: '=', spacing: Alone, span: #0 bytes(1468..1469) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'p'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goReplace` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     func goReplace() string {
[INFO] [stdout]    |          ^^^^^^^^^ help: convert the identifier to snake case: `go_replace`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stdout] warning: function `goReplaceAll` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     func goReplaceAll() string {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `go_replace_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stdout] warning: function `goHasPrefix` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     func goHasPrefix() bool {
[INFO] [stdout]    |          ^^^^^^^^^^^ help: convert the identifier to snake case: `go_has_prefix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: main
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: add, span: #0 bytes(501..504) }, Punct { char: ':', spacing: Joint, span: #0 bytes(505..506) }, Punct { char: '=', spacing: Alone, span: #0 bytes(506..507) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'add'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: x
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: x, span: #0 bytes(540..541) }, Punct { char: '+', spacing: Alone, span: #0 bytes(542..543) }, Ident { sym: y, span: #0 bytes(544..545) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'x'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: y, span: #0 bytes(544..545) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'y'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: add, span: #0 bytes(567..570) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(571..572) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(572..573) }, Literal { kind: Integer, symbol: "2", suffix: None, span: #0 bytes(574..575) }], span: #0 bytes(570..576) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'add'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=add
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goHasSuffix` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |     func goHasSuffix() bool {
[INFO] [stdout]    |          ^^^^^^^^^^^ help: convert the identifier to snake case: `go_has_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goContains` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     func goContains() bool {
[INFO] [stdout]    |          ^^^^^^^^^^ help: convert the identifier to snake case: `go_contains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goJoin` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 |     func goJoin() string {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `go_join`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goSplit` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |     func goSplit() []string {
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to snake case: `go_split`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goIndex` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 |     func goIndex() int {
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to snake case: `go_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goTrim` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |     func goTrim() string {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `go_trim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goToUpper` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:57:10
[INFO] [stdout]    |
[INFO] [stdout] 57 |     func goToUpper() string {
[INFO] [stdout]    |          ^^^^^^^^^ help: convert the identifier to snake case: `go_to_upper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goTimeNow` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/package_functions.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 |     func goTimeNow() int64 {
[INFO] [stdout]    |          ^^^^^^^^^ help: convert the identifier to snake case: `go_time_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> gourd-macro/tests/struct_literals.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Point { pub x: i32, pub y: i32 }
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stdout] warning: struct `Outer` is never constructed
[INFO] [stdout]   --> gourd-macro/tests/struct_literals.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Outer { pub inner: Inner }
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stdout] warning: struct `Inner` is never constructed
[INFO] [stdout]   --> gourd-macro/tests/struct_literals.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Inner { pub x: i32 }
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stdout] warning: function `goStructReturn` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/struct_literals.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |         func goStructReturn() Point { return Point{x: 1, y: 2} }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_struct_return`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Parsed function name: goMakeSlice
[INFO] [stdout] warning: function `goNestedStructs` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/struct_literals.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |         func goNestedStructs() Outer { return Outer{inner: Inner{x: 1}} }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_nested_structs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stdout] warning: function `goStructInLet` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/struct_literals.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |         func goStructInLet() string {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_struct_in_let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Slice(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: make, span: #0 bytes(1285..1289) }, Group { delimiter: Parenthesis, stream: TokenStream [Group { delimiter: Bracket, stream: TokenStream [], span: #0 bytes(1290..1292) }, Ident { ident: "int", span: #0 bytes(1292..1295) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1295..1296) }, Literal { kind: Integer, symbol: "5", suffix: None, span: #0 bytes(1297..1298) }], span: #0 bytes(1289..1299) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'make'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=make
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goMakeChannel` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/make_builtin.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |         func goMakeChannel() chan int {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_make_channel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goMakeBufferedChannel` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/make_builtin.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 |         func goMakeBufferedChannel() chan int {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_make_buffered_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goMakeStringChannel` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/make_builtin.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |         func goMakeStringChannel() chan string {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_make_string_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goMakeMap` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/make_builtin.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |         func goMakeMap() map[string]int {
[INFO] [stdout]    |              ^^^^^^^^^ help: convert the identifier to snake case: `go_make_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goMakeSlice` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/make_builtin.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |         func goMakeSlice() []int {
[INFO] [stdout]    |              ^^^^^^^^^^^ help: convert the identifier to snake case: `go_make_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goFilter
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: min
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "min", span: #0 bytes(687..690) }, HirType { kind: I32 }), (Ident { ident: "nums", span: #0 bytes(696..700) }, HirType { kind: SliceRef(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: total, span: #0 bytes(723..728) }, Punct { char: ':', spacing: Joint, span: #0 bytes(729..730) }, Punct { char: '=', spacing: Alone, span: #0 bytes(730..731) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'total'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: nums, span: #0 bytes(762..766) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "if", span: #0 bytes(781..783) }, Ident { ident: "num", span: #0 bytes(784..787) }, Punct { ch: '>', spacing: Alone, span: #0 bytes(788..789) }, Ident { ident: "min", span: #0 bytes(790..793) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "total", span: #0 bytes(812..817) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(818..819) }, Ident { ident: "total", span: #0 bytes(820..825) }, Punct { ch: '+', spacing: Alone, span: #0 bytes(826..827) }, Ident { ident: "num", span: #0 bytes(828..831) }], span: #0 bytes(794..845) }], span: #0 bytes(767..855) }, Ident { sym: return, span: #0 bytes(864..870) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'nums'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: num, span: #0 bytes(784..787) }, Punct { char: '>', spacing: Alone, span: #0 bytes(788..789) }, Ident { sym: min, span: #0 bytes(790..793) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'num'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: min, span: #0 bytes(790..793) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "total", span: #0 bytes(812..817) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(818..819) }, Ident { ident: "total", span: #0 bytes(820..825) }, Punct { ch: '+', spacing: Alone, span: #0 bytes(826..827) }, Ident { ident: "num", span: #0 bytes(828..831) }], span: #0 bytes(794..845) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'min'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: total, span: #0 bytes(812..817) }, Punct { char: '=', spacing: Alone, span: #0 bytes(818..819) }, Ident { sym: total, span: #0 bytes(820..825) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'total'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: total, span: #0 bytes(820..825) }, Punct { char: '+', spacing: Alone, span: #0 bytes(826..827) }, Ident { sym: num, span: #0 bytes(828..831) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'total'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: num, span: #0 bytes(828..831) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'num'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: total, span: #0 bytes(871..876) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'total'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goPanicMsg
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: panic, span: #0 bytes(305..310) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Str, symbol: "something went wrong", suffix: None, span: #0 bytes(311..333) }], span: #0 bytes(310..334) }, Ident { sym: return, span: #0 bytes(343..349) }]
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: main
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(213..214) }, Punct { char: ':', spacing: Joint, span: #0 bytes(215..216) }, Punct { char: '=', spacing: Alone, span: #0 bytes(216..217) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: f, span: #0 bytes(262..263) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(263..265) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'f'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=f
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=true
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goSum` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/go_variadic.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 |     func goSum(nums ...int) int {
[INFO] [stdout]   |          ^^^^^ help: convert the identifier to snake case: `go_sum`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goCount` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/go_variadic.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |     func goCount(nums ...int) int {
[INFO] [stdout]    |          ^^^^^^^ help: convert the identifier to snake case: `go_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goFilter` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/go_variadic.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     func goFilter(min int, nums ...int) int {
[INFO] [stdout]    |          ^^^^^^^^ help: convert the identifier to snake case: `go_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goNewPoint
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Unknown("Point") }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: new, span: #0 bytes(338..341) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "Point", span: #0 bytes(342..347) }], span: #0 bytes(341..348) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'new'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=new
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: Point, span: #0 bytes(342..347) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'Point'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: hello
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSliceLiteral
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Slice(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goPanicEmpty
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: panic, span: #0 bytes(437..442) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: #0 bytes(442..444) }, Ident { sym: return, span: #0 bytes(453..459) }]
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goNewWithDefault
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: p, span: #0 bytes(501..502) }, Punct { char: ':', spacing: Joint, span: #0 bytes(503..504) }, Punct { char: '=', spacing: Alone, span: #0 bytes(504..505) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'p'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: new, span: #0 bytes(506..509) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "Point", span: #0 bytes(510..515) }], span: #0 bytes(509..516) }, Ident { sym: return, span: #0 bytes(529..535) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'new'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=new
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: Point, span: #0 bytes(510..515) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'Point'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: p, span: #0 bytes(536..537) }, Punct { char: '.', spacing: Alone, span: #0 bytes(537..538) }, Ident { sym: x, span: #0 bytes(538..539) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'p'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goNewInt
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: new, span: #0 bytes(686..689) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "int", span: #0 bytes(690..693) }], span: #0 bytes(689..694) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'new'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=new
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: int, span: #0 bytes(690..693) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'int'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> gourd-macro/tests/panic_builtin.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / go! {
[INFO] [stdout] 12 | |     func goPanicMsg() int {
[INFO] [stdout] 13 | |         panic("something went wrong")
[INFO] [stdout] 14 | |         return 0
[INFO] [stdout] 15 | |     }
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_unreachable statement
[INFO] [stdout]    |   any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `go` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> gourd-macro/tests/panic_builtin.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / go! {
[INFO] [stdout] 20 | |     func goPanicEmpty() int {
[INFO] [stdout] 21 | |         panic()
[INFO] [stdout] 22 | |         return 0
[INFO] [stdout] 23 | |     }
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | | ^
[INFO] [stdout]    | | |
[INFO] [stdout]    | |_unreachable statement
[INFO] [stdout]    |   any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `go` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stdout] warning: function `goPanicMsg` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/panic_builtin.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     func goPanicMsg() int {
[INFO] [stdout]    |          ^^^^^^^^^^ help: convert the identifier to snake case: `go_panic_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stdout] warning: function `goPanicEmpty` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/panic_builtin.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |     func goPanicEmpty() int {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `go_panic_empty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stdout] warning: function `goPanicOnError` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/panic_builtin.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 |     func goPanicOnError(n int) int {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_panic_on_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] Parsed function name: goPanicOnError
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: n
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: i32
[INFO] [stderr] [DEBUG] Converted type: i32
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "n", span: #0 bytes(535..536) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(559..560) }, Punct { char: '<', spacing: Alone, span: #0 bytes(561..562) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(563..564) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: panic, span: #0 bytes(579..584) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Str, symbol: "negative number not allowed", suffix: None, span: #0 bytes(585..614) }], span: #0 bytes(584..615) }]
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: panic, span: #0 bytes(579..584) }, Group { delimiter: Parenthesis, stream: TokenStream [Literal { kind: Str, symbol: "negative number not allowed", suffix: None, span: #0 bytes(585..614) }], span: #0 bytes(584..615) }]
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: n, span: #0 bytes(641..642) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'n'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSelectDefault
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: ch
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Converted type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "ch", span: #0 bytes(182..184) }, HirType { kind: Channel(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: []
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: select, span: #0 bytes(205..211) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "default", span: #0 bytes(226..233) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(233..234) }], span: #0 bytes(212..244) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'select'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSliceLiteral
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: Slice(HirType { kind: I32 }) }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goNewString
[INFO] [stderr] [DEBUG] Parsed params: []
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: StringTy }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: new, span: #0 bytes(836..839) }, Group { delimiter: Parenthesis, stream: TokenStream [Ident { ident: "string", span: #0 bytes(840..846) }], span: #0 bytes(839..847) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'new'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=true, peek(Bracket)=false, has_paren_forked=true
[INFO] [stderr] [DEBUG parse_hir_call] Paren branch for func=new
[INFO] [stderr] [DEBUG parse_hir_call] args_content.is_empty=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: string, span: #0 bytes(840..846) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'string'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> gourd-macro/tests/new_builtin.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goAdd` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/go_fn.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     func goAdd() int {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case: `go_add`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goSum` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/go_fn.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     func goSum(a int, b int) int {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case: `go_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goAbs` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/go_fn.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |     func goAbs(n int) int {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case: `go_abs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isEven` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/go_fn.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 |     func isEven(n int) bool {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `is_even`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goIncr` should have a snake case name
[INFO] [stdout]    --> gourd-macro/tests/go_fn.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 |     func goIncr() int {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `go_incr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goStr` should have a snake case name
[INFO] [stdout]    --> gourd-macro/tests/go_fn.rs:230:10
[INFO] [stdout]     |
[INFO] [stdout] 230 |     func goStr(bytes []byte) string {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case: `go_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goShorthand` should have a snake case name
[INFO] [stdout]    --> gourd-macro/tests/go_fn.rs:248:10
[INFO] [stdout]     |
[INFO] [stdout] 248 |     func goShorthand(a, b, c int) int {
[INFO] [stdout]     |          ^^^^^^^^^^^ help: convert the identifier to snake case: `go_shorthand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goSliceLiteral` should have a snake case name
[INFO] [stdout]    --> gourd-macro/tests/go_fn.rs:282:10
[INFO] [stdout]     |
[INFO] [stdout] 282 |     func goSliceLiteral() []int {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_slice_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> gourd-macro/tests/new_builtin.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Point {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goNewPoint` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/new_builtin.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |         func goNewPoint() Point {
[INFO] [stdout]    |              ^^^^^^^^^^ help: convert the identifier to snake case: `go_new_point`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goNewWithDefault` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/new_builtin.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 |         func goNewWithDefault() int {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_new_with_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goNewInt` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/new_builtin.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 |         func goNewInt() int {
[INFO] [stdout]    |              ^^^^^^^^ help: convert the identifier to snake case: `go_new_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goNewString` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/new_builtin.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |         func goNewString() string {
[INFO] [stdout]    |              ^^^^^^^^^^^ help: convert the identifier to snake case: `go_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSelectSend
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: ch
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Converted type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "ch", span: #0 bytes(313..315) }, HirType { kind: Channel(HirType { kind: I32 }) }), (Ident { ident: "value", span: #0 bytes(326..331) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: []
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: select, span: #0 bytes(347..353) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "case", span: #0 bytes(368..372) }, Ident { ident: "ch", span: #0 bytes(373..375) }, Punct { ch: '<', spacing: Joint, span: #0 bytes(376..377) }, Punct { ch: '-', spacing: Alone, span: #0 bytes(377..378) }, Ident { ident: "value", span: #0 bytes(379..384) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(384..385) }], span: #0 bytes(354..395) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'select'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ch, span: #0 bytes(373..375) }, Punct { char: '<', spacing: Joint, span: #0 bytes(376..377) }, Punct { char: '-', spacing: Alone, span: #0 bytes(377..378) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ch'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: value, span: #0 bytes(379..384) }, Punct { char: ':', spacing: Alone, span: #0 bytes(384..385) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'value'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goSelectSendWithDefault
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: ch
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Converted type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "ch", span: #0 bytes(482..484) }, HirType { kind: Channel(HirType { kind: I32 }) }), (Ident { ident: "value", span: #0 bytes(495..500) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: []
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: select, span: #0 bytes(516..522) }, Group { delimiter: Brace, stream: TokenStream [Ident { ident: "case", span: #0 bytes(537..541) }, Ident { ident: "ch", span: #0 bytes(542..544) }, Punct { ch: '<', spacing: Joint, span: #0 bytes(545..546) }, Punct { ch: '-', spacing: Alone, span: #0 bytes(546..547) }, Ident { ident: "value", span: #0 bytes(548..553) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(553..554) }, Ident { ident: "default", span: #0 bytes(567..574) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(574..575) }], span: #0 bytes(523..585) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'select'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ch, span: #0 bytes(542..544) }, Punct { char: '<', spacing: Joint, span: #0 bytes(545..546) }, Punct { char: '-', spacing: Alone, span: #0 bytes(546..547) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ch'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: value, span: #0 bytes(548..553) }, Punct { char: ':', spacing: Alone, span: #0 bytes(553..554) }, Ident { sym: default, span: #0 bytes(567..574) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'value'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: unused variable: `ch`
[INFO] [stdout]  --> gourd-macro/tests/select_builtin.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     func goSelectDefault(ch chan int) {
[INFO] [stdout]   |                          ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goSelectDefault` should have a snake case name
[INFO] [stdout]  --> gourd-macro/tests/select_builtin.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     func goSelectDefault(ch chan int) {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_select_default`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goSelectSend` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/select_builtin.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     func goSelectSend(ch chan int, value int) {
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `go_select_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goSelectSendWithDefault` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/select_builtin.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 |     func goSelectSendWithDefault(ch chan int, value int) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_select_send_with_default`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goChannelSend
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: ch
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Converted type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] Found comma, parsing second param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "ch", span: #0 bytes(434..436) }, HirType { kind: Channel(HirType { kind: I32 }) }), (Ident { ident: "value", span: #0 bytes(447..452) }, HirType { kind: I32 })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: []
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ch, span: #0 bytes(472..474) }, Punct { char: '<', spacing: Joint, span: #0 bytes(475..476) }, Punct { char: '-', spacing: Alone, span: #0 bytes(476..477) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ch'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: value, span: #0 bytes(478..483) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'value'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ch, span: #0 bytes(472..474) }, Punct { char: '<', spacing: Joint, span: #0 bytes(475..476) }, Punct { char: '-', spacing: Alone, span: #0 bytes(476..477) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ch'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: value, span: #0 bytes(478..483) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'value'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: unused import: `gourd::GoChannel`
[INFO] [stdout]  --> gourd-macro/tests/channel_ops.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gourd::GoChannel;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] [DEBUG] input.peek(Ident)=true, trying Ident::parse_any
[INFO] [stderr] [DEBUG] Ident::parse_any result = Ok("func")
[INFO] [stderr] [DEBUG] After func: peek(Ident)=true, peek(Paren)=false
[INFO] [stderr] [DEBUG] Checking function name: peek(Ident)=true
[INFO] [stderr] [DEBUG] Parsed function name: goChannelEcho
[INFO] [stderr] [DEBUG] parse_hir_param_group called
[INFO] [stderr] [DEBUG] is_pure_group=false
[INFO] [stderr] [DEBUG] is_mixed=false
[INFO] [stderr] [DEBUG] is_pure_group=false, is_mixed=false
[INFO] [stderr] [DEBUG] Parsing individual params
[INFO] [stderr] [DEBUG] Parsing first name
[INFO] [stderr] [DEBUG] First name: ch
[INFO] [stderr] [DEBUG] Parsing first type
[INFO] [stderr] [DEBUG] First type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Converted type: :: gourd :: GoChannel < i32 >
[INFO] [stderr] [DEBUG] Parsing second name
[INFO] [stderr] [DEBUG] No comma, single param
[INFO] [stderr] [DEBUG] Parsed params: [(Ident { ident: "ch", span: #0 bytes(633..635) }, HirType { kind: Channel(HirType { kind: I32 }) })]
[INFO] [stderr] [DEBUG] Parsing returns
[INFO] [stderr] [DEBUG] Parsed returns: [HirType { kind: I32 }]
[INFO] [stderr] [DEBUG] Parsing body
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ch, span: #0 bytes(664..666) }, Punct { char: '<', spacing: Joint, span: #0 bytes(667..668) }, Punct { char: '-', spacing: Alone, span: #0 bytes(668..669) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ch'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_identifier] entering, first_tokens: [Ident { sym: ch, span: #0 bytes(694..696) }]
[INFO] [stderr] [DEBUG parse_hir_identifier] calling parse_hir_postfix for 'ch'
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stderr] [DEBUG parse_hir_binary] entering postfix loop
[INFO] [stderr] [DEBUG parse_hir_postfix] peek(Paren)=false, peek(Bracket)=false, has_paren_forked=false
[INFO] [stdout] warning: function `goChannelRecv` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/channel_ops.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |         func goChannelRecv(ch chan int) int {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_channel_recv`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goChannelSend` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/channel_ops.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 |         func goChannelSend(ch chan int, value int) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_channel_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `goChannelEcho` should have a snake case name
[INFO] [stdout]   --> gourd-macro/tests/channel_ops.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |         func goChannelEcho(ch chan int) int {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `go_channel_echo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s
[INFO] running `Command { std: "docker" "inspect" "665e361d33e86cfcb686c53391d074d58d7eb4c5fe3e244f57d1fdfb42316ecb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "665e361d33e86cfcb686c53391d074d58d7eb4c5fe3e244f57d1fdfb42316ecb", kill_on_drop: false }`
[INFO] [stdout] 665e361d33e86cfcb686c53391d074d58d7eb4c5fe3e244f57d1fdfb42316ecb
