[INFO] cloning repository https://github.com/CharlaftisBill/Dolang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CharlaftisBill/Dolang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCharlaftisBill%2FDolang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCharlaftisBill%2FDolang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 88b75c39a5ab34d1251e52f60c2a28955f2109f0
[INFO] testing CharlaftisBill/Dolang against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCharlaftisBill%2FDolang" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CharlaftisBill/Dolang
[INFO] finished tweaking git repo https://github.com/CharlaftisBill/Dolang
[INFO] tweaked toml for git repo https://github.com/CharlaftisBill/Dolang written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CharlaftisBill/Dolang on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CharlaftisBill/Dolang 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd
[INFO] running `Command { std: "docker" "start" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd", 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" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling Dolang v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::analysis::do_types::DoTypes`
[INFO] [stdout]  --> src/ast/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::analysis::do_types::DoTypes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/ast/parser.rs:274:43
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut node_id: Option<NodeId> = None;
[INFO] [stdout]     |                                           ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 280 |                 node_id = Some(self.ast.add(Node::Identifier(s.to_string()), start_span))
[INFO] [stdout]     |                 ------------------------------------------------------------------------- `node_id` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_type` is never read
[INFO] [stdout]    --> src/ast/parser.rs:407:29
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut node_type = "";
[INFO] [stdout]     |                             ^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 node_type = s;
[INFO] [stdout]     |                 ------------- `node_type` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                 ^^^^^^ help: try ignoring the field: `reason: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_values`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:41
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^ help: try ignoring the field: `return_values: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unknown` is never constructed
[INFO] [stdout]   --> src/analysis/do_types.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DoTypes {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind_len`, `public`, and `is_immutable` are never read
[INFO] [stdout]   --> src/analysis/type_checker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct VariableContext {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 15 |     kind: DoTypes,
[INFO] [stdout] 16 |     kind_len: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     public: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     is_immutable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VariableContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_check_array_value`, `get_kind_as_str`, `get_array_kind_as_str`, `get_array_value_as_str`, `compare_do_to_node_type`, and `compare_do_to_node_id` are never used
[INFO] [stdout]    --> src/analysis/type_checker.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl<'a> TypeChecker<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn type_check_array_value(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn get_kind_as_str(&self, index: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn get_array_kind_as_str(&self, kind: &NodeId, sizes: &Vec<usize>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn get_array_value_as_str(&self, kind: &NodeId, value: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn compare_do_to_node_type(&self, do_type: &DoTypes, node_type: &Node) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn compare_do_to_node_id(&mut self, do_type: &DoTypes, node_id: &NodeId) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Dolang` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `dolang`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::analysis::do_types::DoTypes`
[INFO] [stdout]  --> src/ast/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::analysis::do_types::DoTypes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/ast/parser.rs:274:43
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut node_id: Option<NodeId> = None;
[INFO] [stdout]     |                                           ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 280 |                 node_id = Some(self.ast.add(Node::Identifier(s.to_string()), start_span))
[INFO] [stdout]     |                 ------------------------------------------------------------------------- `node_id` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_type` is never read
[INFO] [stdout]    --> src/ast/parser.rs:407:29
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut node_type = "";
[INFO] [stdout]     |                             ^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 node_type = s;
[INFO] [stdout]     |                 ------------- `node_type` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                 ^^^^^^ help: try ignoring the field: `reason: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_values`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:41
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^ help: try ignoring the field: `return_values: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unknown` is never constructed
[INFO] [stdout]   --> src/analysis/do_types.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DoTypes {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind_len`, `public`, and `is_immutable` are never read
[INFO] [stdout]   --> src/analysis/type_checker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct VariableContext {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 15 |     kind: DoTypes,
[INFO] [stdout] 16 |     kind_len: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     public: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     is_immutable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VariableContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_check_array_value`, `get_kind_as_str`, `get_array_kind_as_str`, `get_array_value_as_str`, `compare_do_to_node_type`, and `compare_do_to_node_id` are never used
[INFO] [stdout]    --> src/analysis/type_checker.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl<'a> TypeChecker<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn type_check_array_value(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn get_kind_as_str(&self, index: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn get_array_kind_as_str(&self, kind: &NodeId, sizes: &Vec<usize>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn get_array_value_as_str(&self, kind: &NodeId, value: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn compare_do_to_node_type(&self, do_type: &DoTypes, node_type: &Node) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn compare_do_to_node_id(&mut self, do_type: &DoTypes, node_id: &NodeId) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.55s
[INFO] running `Command { std: "docker" "inspect" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling Dolang v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::analysis::do_types::DoTypes`
[INFO] [stdout]  --> src/ast/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::analysis::do_types::DoTypes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/ast/parser.rs:274:43
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut node_id: Option<NodeId> = None;
[INFO] [stdout]     |                                           ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 280 |                 node_id = Some(self.ast.add(Node::Identifier(s.to_string()), start_span))
[INFO] [stdout]     |                 ------------------------------------------------------------------------- `node_id` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_type` is never read
[INFO] [stdout]    --> src/ast/parser.rs:407:29
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut node_type = "";
[INFO] [stdout]     |                             ^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 node_type = s;
[INFO] [stdout]     |                 ------------- `node_type` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                 ^^^^^^ help: try ignoring the field: `reason: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_values`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:41
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^ help: try ignoring the field: `return_values: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unknown` is never constructed
[INFO] [stdout]   --> src/analysis/do_types.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DoTypes {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind_len`, `public`, and `is_immutable` are never read
[INFO] [stdout]   --> src/analysis/type_checker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct VariableContext {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 15 |     kind: DoTypes,
[INFO] [stdout] 16 |     kind_len: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     public: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     is_immutable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VariableContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_check_array_value`, `get_kind_as_str`, `get_array_kind_as_str`, `get_array_value_as_str`, `compare_do_to_node_type`, and `compare_do_to_node_id` are never used
[INFO] [stdout]    --> src/analysis/type_checker.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl<'a> TypeChecker<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn type_check_array_value(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn get_kind_as_str(&self, index: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn get_array_kind_as_str(&self, kind: &NodeId, sizes: &Vec<usize>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn get_array_value_as_str(&self, kind: &NodeId, value: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn compare_do_to_node_type(&self, do_type: &DoTypes, node_type: &Node) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn compare_do_to_node_id(&mut self, do_type: &DoTypes, node_id: &NodeId) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Dolang` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `dolang`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::analysis::do_types::DoTypes`
[INFO] [stdout]  --> src/ast/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::analysis::do_types::DoTypes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/ast/parser.rs:274:43
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut node_id: Option<NodeId> = None;
[INFO] [stdout]     |                                           ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 280 |                 node_id = Some(self.ast.add(Node::Identifier(s.to_string()), start_span))
[INFO] [stdout]     |                 ------------------------------------------------------------------------- `node_id` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_type` is never read
[INFO] [stdout]    --> src/ast/parser.rs:407:29
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut node_type = "";
[INFO] [stdout]     |                             ^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 node_type = s;
[INFO] [stdout]     |                 ------------- `node_type` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                 ^^^^^^ help: try ignoring the field: `reason: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_values`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:41
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^ help: try ignoring the field: `return_values: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unknown` is never constructed
[INFO] [stdout]   --> src/analysis/do_types.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DoTypes {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind_len`, `public`, and `is_immutable` are never read
[INFO] [stdout]   --> src/analysis/type_checker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct VariableContext {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 15 |     kind: DoTypes,
[INFO] [stdout] 16 |     kind_len: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     public: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     is_immutable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VariableContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_check_array_value`, `get_kind_as_str`, `get_array_kind_as_str`, `get_array_value_as_str`, `compare_do_to_node_type`, and `compare_do_to_node_id` are never used
[INFO] [stdout]    --> src/analysis/type_checker.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl<'a> TypeChecker<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn type_check_array_value(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn get_kind_as_str(&self, index: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn get_array_kind_as_str(&self, kind: &NodeId, sizes: &Vec<usize>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn get_array_value_as_str(&self, kind: &NodeId, value: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn compare_do_to_node_type(&self, do_type: &DoTypes, node_type: &Node) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn compare_do_to_node_id(&mut self, do_type: &DoTypes, node_id: &NodeId) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::analysis::do_types::DoTypes`
[INFO] [stdout]  --> src/ast/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::analysis::do_types::DoTypes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::analysis::do_types::DoTypes`
[INFO] [stdout]  --> src/ast/nodes.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::analysis::do_types::DoTypes;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/ast/parser.rs:274:43
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut node_id: Option<NodeId> = None;
[INFO] [stdout]     |                                           ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 280 |                 node_id = Some(self.ast.add(Node::Identifier(s.to_string()), start_span))
[INFO] [stdout]     |                 ------------------------------------------------------------------------- `node_id` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_type` is never read
[INFO] [stdout]    --> src/ast/parser.rs:407:29
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut node_type = "";
[INFO] [stdout]     |                             ^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 node_type = s;
[INFO] [stdout]     |                 ------------- `node_type` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                 ^^^^^^ help: try ignoring the field: `reason: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_values`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:41
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^ help: try ignoring the field: `return_values: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unknown` is never constructed
[INFO] [stdout]   --> src/analysis/do_types.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DoTypes {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind_len`, `public`, and `is_immutable` are never read
[INFO] [stdout]   --> src/analysis/type_checker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct VariableContext {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 15 |     kind: DoTypes,
[INFO] [stdout] 16 |     kind_len: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     public: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     is_immutable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VariableContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_check_array_value`, `get_kind_as_str`, `get_array_kind_as_str`, `get_array_value_as_str`, `compare_do_to_node_type`, and `compare_do_to_node_id` are never used
[INFO] [stdout]    --> src/analysis/type_checker.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl<'a> TypeChecker<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn type_check_array_value(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn get_kind_as_str(&self, index: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn get_array_kind_as_str(&self, kind: &NodeId, sizes: &Vec<usize>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn get_array_value_as_str(&self, kind: &NodeId, value: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn compare_do_to_node_type(&self, do_type: &DoTypes, node_type: &Node) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn compare_do_to_node_id(&mut self, do_type: &DoTypes, node_id: &NodeId) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_id` is never read
[INFO] [stdout]    --> src/ast/parser.rs:274:43
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut node_id: Option<NodeId> = None;
[INFO] [stdout]     |                                           ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 280 |                 node_id = Some(self.ast.add(Node::Identifier(s.to_string()), start_span))
[INFO] [stdout]     |                 ------------------------------------------------------------------------- `node_id` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `node_type` is never read
[INFO] [stdout]    --> src/ast/parser.rs:407:29
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut node_type = "";
[INFO] [stdout]     |                             ^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 410 |                 node_type = s;
[INFO] [stdout]     |                 ------------- `node_type` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                 ^^^^^^ help: try ignoring the field: `reason: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_values`
[INFO] [stdout]    --> src/analysis/type_checker.rs:215:41
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^ help: try ignoring the field: `return_values: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unknown` is never constructed
[INFO] [stdout]   --> src/analysis/do_types.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum DoTypes {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DoTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind_len`, `public`, and `is_immutable` are never read
[INFO] [stdout]   --> src/analysis/type_checker.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct VariableContext {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 15 |     kind: DoTypes,
[INFO] [stdout] 16 |     kind_len: Vec<usize>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 17 |     public: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     is_immutable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VariableContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_check_array_value`, `get_kind_as_str`, `get_array_kind_as_str`, `get_array_value_as_str`, `compare_do_to_node_type`, and `compare_do_to_node_id` are never used
[INFO] [stdout]    --> src/analysis/type_checker.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl<'a> TypeChecker<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn type_check_array_value(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn get_kind_as_str(&self, index: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn get_array_kind_as_str(&self, kind: &NodeId, sizes: &Vec<usize>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     fn get_array_value_as_str(&self, kind: &NodeId, value: &NodeId) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn compare_do_to_node_type(&self, do_type: &DoTypes, node_type: &Node) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn compare_do_to_node_id(&mut self, do_type: &DoTypes, node_id: &NodeId) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.94s
[INFO] running `Command { std: "docker" "inspect" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::analysis::do_types::DoTypes`
[INFO] [stderr]  --> src/ast/nodes.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::analysis::do_types::DoTypes;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `node_id` is never read
[INFO] [stderr]    --> src/ast/parser.rs:274:43
[INFO] [stderr]     |
[INFO] [stderr] 274 |         let mut node_id: Option<NodeId> = None;
[INFO] [stderr]     |                                           ^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 280 |                 node_id = Some(self.ast.add(Node::Identifier(s.to_string()), start_span))
[INFO] [stderr]     |                 ------------------------------------------------------------------------- `node_id` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `node_type` is never read
[INFO] [stderr]    --> src/ast/parser.rs:407:29
[INFO] [stderr]     |
[INFO] [stderr] 407 |         let mut node_type = "";
[INFO] [stderr]     |                             ^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 410 |                 node_type = s;
[INFO] [stderr]     |                 ------------- `node_type` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reason`
[INFO] [stderr]    --> src/analysis/type_checker.rs:215:33
[INFO] [stderr]     |
[INFO] [stderr] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stderr]     |                                 ^^^^^^ help: try ignoring the field: `reason: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `return_values`
[INFO] [stderr]    --> src/analysis/type_checker.rs:215:41
[INFO] [stderr]     |
[INFO] [stderr] 215 |                 Node::Failure { reason, return_values } =>{
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^ help: try ignoring the field: `return_values: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Unknown` is never constructed
[INFO] [stderr]   --> src/analysis/do_types.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub enum DoTypes {
[INFO] [stderr]    |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 36 |     Unknown,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DoTypes` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `kind_len`, `public`, and `is_immutable` are never read
[INFO] [stderr]   --> src/analysis/type_checker.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | struct VariableContext {
[INFO] [stderr]    |        --------------- fields in this struct
[INFO] [stderr] 15 |     kind: DoTypes,
[INFO] [stderr] 16 |     kind_len: Vec<usize>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 17 |     public: bool,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 18 |     is_immutable: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `VariableContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `type_check_array_value`, `get_kind_as_str`, `get_array_kind_as_str`, `get_array_value_as_str`, `compare_do_to_node_type`, and `compare_do_to_node_id` are never used
[INFO] [stderr]    --> src/analysis/type_checker.rs:251:8
[INFO] [stderr]     |
[INFO] [stderr]  38 | impl<'a> TypeChecker<'a> {
[INFO] [stderr]     | ------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 251 |     fn type_check_array_value(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 279 |     fn get_kind_as_str(&self, index: &NodeId) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 369 |     fn get_array_kind_as_str(&self, kind: &NodeId, sizes: &Vec<usize>) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 380 |     fn get_array_value_as_str(&self, kind: &NodeId, value: &NodeId) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 395 |     fn compare_do_to_node_type(&self, do_type: &DoTypes, node_type: &Node) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 456 |     fn compare_do_to_node_id(&mut self, do_type: &DoTypes, node_id: &NodeId) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate `Dolang` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `dolang`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `Dolang` (lib) generated 9 warnings (run `cargo fix --lib -p Dolang` to apply 3 suggestions)
[INFO] [stderr] warning: `Dolang` (bin "Dolang" test) generated 8 warnings (8 duplicates)
[INFO] [stderr] warning: `Dolang` (bin "Dolang") generated 8 warnings (8 duplicates)
[INFO] [stderr] warning: `Dolang` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/Dolang-003fb6a55ccc8ee9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/Dolang-a436d3dab8f8b394)
[INFO] [stderr]      Running tests/parser_tests.rs (/opt/rustwide/target/debug/deps/parser_tests-ac76be43845caad3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_all_samples ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_all_samples stdout ----
[INFO] [stdout]   -------> Testing: '40.functions'
[INFO] [stdout]       (0)      --- Adding: node -> 'FuncSignature { params: [], returns: [] }', span -> 'Span { line: 1, start: 23, end: 24, current_line_start: 12 }'
[INFO] [stdout]       (1)      --- Adding: node -> 'Identifier("print")', span -> 'Span { line: 2, start: 28, end: 29, current_line_start: 29 }'
[INFO] [stdout]       (2)      --- Adding: node -> 'ValueStr("Hello!")', span -> 'Span { line: 2, start: 41, end: 47, current_line_start: 29 }'
[INFO] [stdout]       (3)      --- Adding: node -> 'FuncCall { func: NodeId(1), args: [NodeId(2)] }', span -> 'Span { line: 2, start: 41, end: 47, current_line_start: 29 }'
[INFO] [stdout]       (4)      --- Adding: node -> 'Block([NodeId(3)])', span -> 'Span { line: 2, start: 28, end: 29, current_line_start: 29 }'
[INFO] [stdout]       (5)      --- Adding: node -> 'Declaration { name: "say_hello", kind: NodeId(0), public: false, constant: true }', span -> 'Span { line: 5, start: 51, end: 53, current_line_start: 53 }'
[INFO] [stdout]       (6)      --- Adding: node -> 'Identifier(":")', span -> 'Span { line: 5, start: 51, end: 53, current_line_start: 53 }'
[INFO] [stdout]       (7)      --- Adding: node -> 'Assignment { operator: NodeId(6), declaration: NodeId(5), value: NodeId(4) }', span -> 'Span { line: 5, start: 51, end: 53, current_line_start: 53 }'
[INFO] [stdout]       (8)      --- Adding: node -> 'Identifier("i32")', span -> 'Span { line: 5, start: 64, end: 65, current_line_start: 53 }'
[INFO] [stdout]       (9)      --- Adding: node -> 'Declaration { name: "lh", kind: NodeId(8), public: false, constant: false }', span -> 'Span { line: 5, start: 58, end: 60, current_line_start: 53 }'
[INFO] [stdout]       (10)      --- Adding: node -> 'Identifier("i32")', span -> 'Span { line: 5, start: 72, end: 73, current_line_start: 53 }'
[INFO] [stdout]       (11)      --- Adding: node -> 'Declaration { name: "rh", kind: NodeId(10), public: false, constant: false }', span -> 'Span { line: 5, start: 66, end: 68, current_line_start: 53 }'
[INFO] [stdout]       (12)      --- Adding: node -> 'Identifier("i32")', span -> 'Span { line: 5, start: 74, end: 77, current_line_start: 53 }'
[INFO] [stdout]       (13)      --- Adding: node -> 'FuncSignature { params: [NodeId(9), NodeId(11)], returns: [NodeId(12)] }', span -> 'Span { line: 5, start: 74, end: 77, current_line_start: 53 }'
[INFO] [stdout]       (14)      --- Adding: node -> 'Identifier("print")', span -> 'Span { line: 6, start: 81, end: 82, current_line_start: 82 }'
[INFO] [stdout]       (15)      --- Adding: node -> 'ValueStr("hey")', span -> 'Span { line: 6, start: 94, end: 97, current_line_start: 82 }'
[INFO] [stdout]       (16)      --- Adding: node -> 'FuncCall { func: NodeId(14), args: [NodeId(15)] }', span -> 'Span { line: 6, start: 94, end: 97, current_line_start: 82 }'
[INFO] [stdout]       (17)      --- Adding: node -> 'Identifier("lh")', span -> 'Span { line: 7, start: 112, end: 114, current_line_start: 99 }'
[INFO] [stdout]       (18)      --- Adding: node -> 'Identifier("rh")', span -> 'Span { line: 7, start: 117, end: 119, current_line_start: 99 }'
[INFO] [stdout]       (19)      --- Adding: node -> 'BinaryOp(ADD(NodeId(17), NodeId(18)))', span -> 'Span { line: 7, start: 115, end: 116, current_line_start: 99 }'
[INFO] [stdout]       (20)      --- Adding: node -> 'Success { return_values: [NodeId(19)] }', span -> 'Span { line: 6, start: 81, end: 82, current_line_start: 82 }'
[INFO] [stdout]       (21)      --- Adding: node -> 'Block([NodeId(16), NodeId(20)])', span -> 'Span { line: 6, start: 81, end: 82, current_line_start: 82 }'
[INFO] [stdout]       (22)      --- Adding: node -> 'Declaration { name: "sum", kind: NodeId(13), public: false, constant: true }', span -> 'Span { line: 10, start: 122, end: 124, current_line_start: 124 }'
[INFO] [stdout]       (23)      --- Adding: node -> 'Identifier(":")', span -> 'Span { line: 10, start: 122, end: 124, current_line_start: 124 }'
[INFO] [stdout]       (24)      --- Adding: node -> 'Assignment { operator: NodeId(23), declaration: NodeId(22), value: NodeId(21) }', span -> 'Span { line: 10, start: 122, end: 124, current_line_start: 124 }'
[INFO] [stdout]       (25)      --- Adding: node -> 'Identifier("i32")', span -> 'Span { line: 10, start: 135, end: 136, current_line_start: 124 }'
[INFO] [stdout]       (26)      --- Adding: node -> 'Declaration { name: "lh", kind: NodeId(25), public: false, constant: false }', span -> 'Span { line: 10, start: 129, end: 131, current_line_start: 124 }'
[INFO] [stdout]       (27)      --- Adding: node -> 'Identifier("i32")', span -> 'Span { line: 10, start: 143, end: 144, current_line_start: 124 }'
[INFO] [stdout]       (28)      --- Adding: node -> 'Declaration { name: "rh", kind: NodeId(27), public: false, constant: false }', span -> 'Span { line: 10, start: 137, end: 139, current_line_start: 124 }'
[INFO] [stdout]       (29)      --- Adding: node -> 'Identifier("f32")', span -> 'Span { line: 10, start: 145, end: 148, current_line_start: 124 }'
[INFO] [stdout]       (30)      --- Adding: node -> 'Identifier("f32")', span -> 'Span { line: 10, start: 150, end: 153, current_line_start: 124 }'
[INFO] [stdout]       (31)      --- Adding: node -> 'FuncSignature { params: [NodeId(26), NodeId(28)], returns: [NodeId(29), NodeId(30)] }', span -> 'Span { line: 10, start: 150, end: 153, current_line_start: 124 }'
[INFO] [stdout]       (32)      --- Adding: node -> 'Identifier("rh")', span -> 'Span { line: 11, start: 165, end: 167, current_line_start: 158 }'
[INFO] [stdout]       (33)      --- Adding: node -> 'ValueInt(0)', span -> 'Span { line: 11, start: 171, end: 172, current_line_start: 158 }'
[INFO] [stdout]       (34)      --- Adding: node -> 'BinaryOp(EQ(NodeId(32), NodeId(33)))', span -> 'Span { line: 11, start: 168, end: 170, current_line_start: 158 }'
[INFO] [stdout]       (35)      --- Adding: node -> 'ValueInt(0)', span -> 'Span { line: 12, start: 201, end: 202, current_line_start: 175 }'
[INFO] [stdout]       (36)      --- Adding: node -> 'ValueInt(0)', span -> 'Span { line: 12, start: 204, end: 205, current_line_start: 175 }'
[INFO] [stdout]       (37)      --- Adding: node -> 'Failure { reason: "DivByZero", return_values: [NodeId(35), NodeId(36)] }', span -> 'Span { line: 12, start: 174, end: 175, current_line_start: 175 }'
[INFO] [stdout]       (38)      --- Adding: node -> 'Block([NodeId(37)])', span -> 'Span { line: 12, start: 174, end: 175, current_line_start: 175 }'
[INFO] [stdout]       (39)      --- Adding: node -> 'If { condition: NodeId(34), body: Some(NodeId(38)) }', span -> 'Span { line: 11, start: 157, end: 158, current_line_start: 158 }'
[INFO] [stdout]       (40)      --- Adding: node -> 'Identifier("lh")', span -> 'Span { line: 14, start: 224, end: 226, current_line_start: 212 }'
[INFO] [stdout]       (41)      --- Adding: node -> 'Identifier("rh")', span -> 'Span { line: 14, start: 229, end: 231, current_line_start: 212 }'
[INFO] [stdout]       (42)      --- Adding: node -> 'BinaryOp(DIV(NodeId(40), NodeId(41)))', span -> 'Span { line: 14, start: 227, end: 228, current_line_start: 212 }'
[INFO] [stdout]       (43)      --- Adding: node -> 'Identifier("lh")', span -> 'Span { line: 14, start: 233, end: 235, current_line_start: 212 }'
[INFO] [stdout]       (44)      --- Adding: node -> 'Identifier("rh")', span -> 'Span { line: 14, start: 238, end: 240, current_line_start: 212 }'
[INFO] [stdout]       (45)      --- Adding: node -> 'BinaryOp(REM(NodeId(43), NodeId(44)))', span -> 'Span { line: 14, start: 236, end: 237, current_line_start: 212 }'
[INFO] [stdout]       (46)      --- Adding: node -> 'Success { return_values: [NodeId(42), NodeId(45)] }', span -> 'Span { line: 11, start: 157, end: 158, current_line_start: 158 }'
[INFO] [stdout]       (47)      --- Adding: node -> 'Block([NodeId(39), NodeId(46)])', span -> 'Span { line: 11, start: 157, end: 158, current_line_start: 158 }'
[INFO] [stdout]       (48)      --- Adding: node -> 'Declaration { name: "div", kind: NodeId(31), public: false, constant: true }', span -> 'Span { line: 15, start: 242, end: 242, current_line_start: 241 }'
[INFO] [stdout]       (49)      --- Adding: node -> 'Identifier(":")', span -> 'Span { line: 15, start: 242, end: 242, current_line_start: 241 }'
[INFO] [stdout]       (50)      --- Adding: node -> 'Assignment { operator: NodeId(49), declaration: NodeId(48), value: NodeId(47) }', span -> 'Span { line: 15, start: 242, end: 242, current_line_start: 241 }'
[INFO] [stdout]       (51)      --- Adding: node -> 'Block([NodeId(7), NodeId(24), NodeId(50)])', span -> 'Span { line: 15, start: 242, end: 242, current_line_start: 241 }'
[INFO] [stdout] (!) Value Mismatch at root.nodes[0].kind
[INFO] [stdout]     Expected: "FUNCSIGNATURE"
[INFO] [stdout]     Actual:   "FuncSignature"
[INFO] [stdout] (!) Value Mismatch at root.nodes[1].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[2].kind
[INFO] [stdout]     Expected: "STR"
[INFO] [stdout]     Actual:   "ValueStr"
[INFO] [stdout] (!) Value Mismatch at root.nodes[3].kind
[INFO] [stdout]     Expected: "CALL"
[INFO] [stdout]     Actual:   "FuncCall"
[INFO] [stdout] (!) Value Mismatch at root.nodes[4].kind
[INFO] [stdout]     Expected: "BLOCK"
[INFO] [stdout]     Actual:   "Block"
[INFO] [stdout] (!) Value Mismatch at root.nodes[5].kind
[INFO] [stdout]     Expected: "DECLARATION"
[INFO] [stdout]     Actual:   "Declaration"
[INFO] [stdout] (!) Value Mismatch at root.nodes[6].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[7].kind
[INFO] [stdout]     Expected: "ASSIGNMENT"
[INFO] [stdout]     Actual:   "Assignment"
[INFO] [stdout] (!) Value Mismatch at root.nodes[8].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[9].kind
[INFO] [stdout]     Expected: "DECLARATION"
[INFO] [stdout]     Actual:   "Declaration"
[INFO] [stdout] (!) Value Mismatch at root.nodes[10].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[11].kind
[INFO] [stdout]     Expected: "DECLARATION"
[INFO] [stdout]     Actual:   "Declaration"
[INFO] [stdout] (!) Value Mismatch at root.nodes[12].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[13].kind
[INFO] [stdout]     Expected: "FUNCSIGNATURE"
[INFO] [stdout]     Actual:   "FuncSignature"
[INFO] [stdout] (!) Value Mismatch at root.nodes[14].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[15].kind
[INFO] [stdout]     Expected: "STR"
[INFO] [stdout]     Actual:   "ValueStr"
[INFO] [stdout] (!) Value Mismatch at root.nodes[16].kind
[INFO] [stdout]     Expected: "CALL"
[INFO] [stdout]     Actual:   "FuncCall"
[INFO] [stdout] (!) Value Mismatch at root.nodes[17].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[18].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[19].kind
[INFO] [stdout]     Expected: "BINARY"
[INFO] [stdout]     Actual:   "BinaryOp"
[INFO] [stdout] (!) Value Mismatch at root.nodes[20].kind
[INFO] [stdout]     Expected: "SUCCESS"
[INFO] [stdout]     Actual:   "Success"
[INFO] [stdout] (!) Value Mismatch at root.nodes[21].kind
[INFO] [stdout]     Expected: "BLOCK"
[INFO] [stdout]     Actual:   "Block"
[INFO] [stdout] (!) Value Mismatch at root.nodes[22].kind
[INFO] [stdout]     Expected: "DECLARATION"
[INFO] [stdout]     Actual:   "Declaration"
[INFO] [stdout] (!) Value Mismatch at root.nodes[23].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[24].kind
[INFO] [stdout]     Expected: "ASSIGNMENT"
[INFO] [stdout]     Actual:   "Assignment"
[INFO] [stdout] (!) Value Mismatch at root.nodes[25].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[26].kind
[INFO] [stdout]     Expected: "DECLARATION"
[INFO] [stdout]     Actual:   "Declaration"
[INFO] [stdout] (!) Value Mismatch at root.nodes[27].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[28].kind
[INFO] [stdout]     Expected: "DECLARATION"
[INFO] [stdout]     Actual:   "Declaration"
[INFO] [stdout] (!) Value Mismatch at root.nodes[29].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[30].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[31].kind
[INFO] [stdout]     Expected: "FUNCSIGNATURE"
[INFO] [stdout]     Actual:   "FuncSignature"
[INFO] [stdout] (!) Value Mismatch at root.nodes[32].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[33].kind
[INFO] [stdout]     Expected: "I32"
[INFO] [stdout]     Actual:   "ValueInt"
[INFO] [stdout] (!) Value Mismatch at root.nodes[34].kind
[INFO] [stdout]     Expected: "BINARY"
[INFO] [stdout]     Actual:   "BinaryOp"
[INFO] [stdout] (!) Value Mismatch at root.nodes[35].kind
[INFO] [stdout]     Expected: "I32"
[INFO] [stdout]     Actual:   "ValueInt"
[INFO] [stdout] (!) Value Mismatch at root.nodes[36].kind
[INFO] [stdout]     Expected: "I32"
[INFO] [stdout]     Actual:   "ValueInt"
[INFO] [stdout] (!) Value Mismatch at root.nodes[37].kind
[INFO] [stdout]     Expected: "FAILURE"
[INFO] [stdout]     Actual:   "Failure"
[INFO] [stdout] (!) Value Mismatch at root.nodes[38].kind
[INFO] [stdout]     Expected: "BLOCK"
[INFO] [stdout]     Actual:   "Block"
[INFO] [stdout] (!) Value Mismatch at root.nodes[39].kind
[INFO] [stdout]     Expected: "IF"
[INFO] [stdout]     Actual:   "If"
[INFO] [stdout] (!) Value Mismatch at root.nodes[40].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[41].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[42].kind
[INFO] [stdout]     Expected: "BINARY"
[INFO] [stdout]     Actual:   "BinaryOp"
[INFO] [stdout] (!) Value Mismatch at root.nodes[43].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[44].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[45].kind
[INFO] [stdout]     Expected: "BINARY"
[INFO] [stdout]     Actual:   "BinaryOp"
[INFO] [stdout] (!) Value Mismatch at root.nodes[46].kind
[INFO] [stdout]     Expected: "SUCCESS"
[INFO] [stdout]     Actual:   "Success"
[INFO] [stdout] (!) Value Mismatch at root.nodes[47].kind
[INFO] [stdout]     Expected: "BLOCK"
[INFO] [stdout]     Actual:   "Block"
[INFO] [stdout] (!) Value Mismatch at root.nodes[48].kind
[INFO] [stdout]     Expected: "DECLARATION"
[INFO] [stdout]     Actual:   "Declaration"
[INFO] [stdout] (!) Value Mismatch at root.nodes[49].kind
[INFO] [stdout]     Expected: "IDENTIFIER"
[INFO] [stdout]     Actual:   "Identifier"
[INFO] [stdout] (!) Value Mismatch at root.nodes[50].kind
[INFO] [stdout]     Expected: "ASSIGNMENT"
[INFO] [stdout]     Actual:   "Assignment"
[INFO] [stdout] (!) Value Mismatch at root.nodes[51].kind
[INFO] [stdout]     Expected: "BLOCK"
[INFO] [stdout]     Actual:   "Block"
[INFO] [stdout] 
[INFO] [stdout] AST Mismatch for '40.functions'
[INFO] [stdout] File: "/opt/rustwide/workdir/tests/snapshots/40.functions.json"
[INFO] [stdout] 
[INFO] [stdout] --- FULL ACTUAL OUTPUT: /tmp/ast.json
[INFO] [stdout] 
[INFO] [stdout] thread 'test_all_samples' (422) panicked at tests/common/mod.rs:47:9:
[INFO] [stdout] Snapshot mismatch
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c5c32c8a4d8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c5c32c8a4d8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c5c32c8a4d8 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c5c32c8a4d8 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c5c32ca029a - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c5c32ca029a - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x5c5c32c8ef42 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5c5c32c8ef42 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5c5c32c68046 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c5c32c68046 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c5c32c82339 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c5c32bcd4cc - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x5c5c32bcd4cc - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c5c32c824f2 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x5c5c32c824f2 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c5c32c68134 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5c5c32c5d039 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c5c32c68e1d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c5c32ca0a2c - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c5c32ba98c0 - parser_tests[3526672bf9a3dcec]::common::assert_json_snapshot::<Dolang[ea170773bf6f9c8b]::ast::arena::Ast>
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:47:9
[INFO] [stdout]   20:     0x5c5c32bbdc4a - parser_tests[3526672bf9a3dcec]::test_all_samples
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/parser_tests.rs:27:13
[INFO] [stdout]   21:     0x5c5c32bbd327 - parser_tests[3526672bf9a3dcec]::test_all_samples::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/parser_tests.rs:7:22
[INFO] [stdout]   22:     0x5c5c32bc04e6 - <parser_tests[3526672bf9a3dcec]::test_all_samples::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c5c32bc05ab - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c5c32bc05ab - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5c5c32bcde25 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5c5c32bcde25 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5c5c32bcde25 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5c5c32bcde25 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5c5c32bcde25 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5c5c32bcde25 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5c5c32bcde25 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5c5c32bc7734 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5c5c32bc7734 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5c5c32bd0ea2 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5c5c32bd0ea2 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5c5c32bd0ea2 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5c5c32bd0ea2 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5c5c32bd0ea2 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5c5c32bd0ea2 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5c5c32bd0ea2 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5c5c32c8992f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   42:     0x5c5c32c8992f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x71c7de24caa4 - <unknown>
[INFO] [stdout]   44:     0x71c7de2d9a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_all_samples
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test parser_tests`
[INFO] running `Command { std: "docker" "inspect" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd", kill_on_drop: false }`
[INFO] [stdout] 39cd768a33ccb2abaca9384d487b3ee4f5b5d4013fc93bca002e5004354146fd
