[INFO] cloning repository https://github.com/stenbror/python_core_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stenbror/python_core_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstenbror%2Fpython_core_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstenbror%2Fpython_core_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d73e82979c3503c953d90bdf74943caa6c20deb4 [INFO] testing stenbror/python_core_rust against beta-2025-09-21 for beta-1.91-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstenbror%2Fpython_core_rust" "/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/stenbror/python_core_rust [INFO] finished tweaking git repo https://github.com/stenbror/python_core_rust [INFO] tweaked toml for git repo https://github.com/stenbror/python_core_rust written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/stenbror/python_core_rust on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/stenbror/python_core_rust 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing stenbror/python_core_rust against beta-2025-09-21 for beta-1.91-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstenbror%2Fpython_core_rust" "/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/stenbror/python_core_rust [INFO] finished tweaking git repo https://github.com/stenbror/python_core_rust [INFO] tweaked toml for git repo https://github.com/stenbror/python_core_rust written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/stenbror/python_core_rust on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/stenbror/python_core_rust 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 80f448f4b1b3ecab5c4f072c703dcedc77d4638e931569405d1d80a05df8a8e8 [INFO] running `Command { std: "docker" "start" "-a" "80f448f4b1b3ecab5c4f072c703dcedc77d4638e931569405d1d80a05df8a8e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "80f448f4b1b3ecab5c4f072c703dcedc77d4638e931569405d1d80a05df8a8e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80f448f4b1b3ecab5c4f072c703dcedc77d4638e931569405d1d80a05df8a8e8", kill_on_drop: false }` [INFO] [stdout] 80f448f4b1b3ecab5c4f072c703dcedc77d4638e931569405d1d80a05df8a8e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9e0f3f0a62aaae77891eb36e7a1fc2154dffa265235e5623388de53273778554 [INFO] running `Command { std: "docker" "start" "-a" "9e0f3f0a62aaae77891eb36e7a1fc2154dffa265235e5623388de53273778554", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling python_runtime_engine v0.1.0 (/opt/rustwide/workdir/python_runtime_engine) [INFO] [stdout] warning: value assigned to `is_double_quote` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | let mut is_double_quote = false; [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 `end_pos` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:757:25 [INFO] [stdout] | [INFO] [stdout] 757 | let mut end_pos = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_at_beginning_of_line` [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:747:66 [INFO] [stdout] | [INFO] [stdout] 747 | ... Vec, is_at_beginning_of_line: bool, is_blank_line: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_at_beginning_of_line` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:749:13 [INFO] [stdout] | [INFO] [stdout] 749 | let mut start = buffer.index(); [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: unreachable pattern [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1043:13 [INFO] [stdout] | [INFO] [stdout] 1043 | _ => break [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1043:13 [INFO] [stdout] | [INFO] [stdout] 1023 | Ok(x) => { [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1040 | Err(x) => { [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1043 | _ => break [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `at_beginning_of_line` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1030:25 [INFO] [stdout] | [INFO] [stdout] 1030 | at_beginning_of_line = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:989:25 [INFO] [stdout] | [INFO] [stdout] 989 | let mut el : u32 = el_last.clone(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_and_file` [INFO] [stdout] --> python_runtime_engine/src/parser/source_buffer.rs:46:29 [INFO] [stdout] | [INFO] [stdout] 46 | fn from_file(&mut self, path_and_file: &'static str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_and_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol1` [INFO] [stdout] --> python_runtime_engine/src/parser/expressions.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | let symbol1 = self.get_symbol(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `symbol1` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/expressions.rs:806:11 [INFO] [stdout] | [INFO] [stdout] 806 | let mut symbol1 : Option> = None; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ParserMethods` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/parser.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait ParserMethods { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> python_runtime_engine/src/parser/parser.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseNode` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/abstract_syntax_tree_nodes.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ParseNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpressionMethods` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/expressions.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait ExpressionMethods { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SyntaxErrorMethods` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/syntax_error.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait SyntaxErrorMethods { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyntaxError` is never constructed [INFO] [stdout] --> python_runtime_engine/src/parser/syntax_error.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct SyntaxError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `StatementMethods` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait StatementMethods { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling python_core v0.1.0 (/opt/rustwide/workdir/python_core) [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> python_core/src/main.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | Some(x) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s [INFO] running `Command { std: "docker" "inspect" "9e0f3f0a62aaae77891eb36e7a1fc2154dffa265235e5623388de53273778554", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e0f3f0a62aaae77891eb36e7a1fc2154dffa265235e5623388de53273778554", kill_on_drop: false }` [INFO] [stdout] 9e0f3f0a62aaae77891eb36e7a1fc2154dffa265235e5623388de53273778554 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b1a7ca7ac589133bd6dcf4277a5690a40d82befd9b8a528c43968acd59cc72c1 [INFO] running `Command { std: "docker" "start" "-a" "b1a7ca7ac589133bd6dcf4277a5690a40d82befd9b8a528c43968acd59cc72c1", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stdout] warning: value assigned to `is_double_quote` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | let mut is_double_quote = false; [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 `end_pos` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:757:25 [INFO] [stdout] | [INFO] [stdout] 757 | let mut end_pos = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_at_beginning_of_line` [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:747:66 [INFO] [stdout] | [INFO] [stdout] 747 | ... Vec, is_at_beginning_of_line: bool, is_blank_line: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_at_beginning_of_line` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:749:13 [INFO] [stdout] | [INFO] [stdout] 749 | let mut start = buffer.index(); [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: unreachable pattern [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1043:13 [INFO] [stdout] | [INFO] [stdout] 1043 | _ => break [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1043:13 [INFO] [stdout] | [INFO] [stdout] 1023 | Ok(x) => { [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1040 | Err(x) => { [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1043 | _ => break [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `at_beginning_of_line` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1030:25 [INFO] [stdout] | [INFO] [stdout] 1030 | at_beginning_of_line = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:989:25 [INFO] [stdout] | [INFO] [stdout] 989 | let mut el : u32 = el_last.clone(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_and_file` [INFO] [stdout] --> python_runtime_engine/src/parser/source_buffer.rs:46:29 [INFO] [stdout] | [INFO] [stdout] 46 | fn from_file(&mut self, path_and_file: &'static str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_and_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol1` [INFO] [stdout] --> python_runtime_engine/src/parser/expressions.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | let symbol1 = self.get_symbol(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `symbol1` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/expressions.rs:806:11 [INFO] [stdout] | [INFO] [stdout] 806 | let mut symbol1 : Option> = None; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ParserMethods` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/parser.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait ParserMethods { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> python_runtime_engine/src/parser/parser.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseNode` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/abstract_syntax_tree_nodes.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ParseNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpressionMethods` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/expressions.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait ExpressionMethods { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SyntaxErrorMethods` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/syntax_error.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait SyntaxErrorMethods { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling python_core v0.1.0 (/opt/rustwide/workdir/python_core) [INFO] [stdout] warning: struct `SyntaxError` is never constructed [INFO] [stdout] --> python_runtime_engine/src/parser/syntax_error.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct SyntaxError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling python_runtime_engine v0.1.0 (/opt/rustwide/workdir/python_runtime_engine) [INFO] [stdout] warning: trait `StatementMethods` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait StatementMethods { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> python_core/src/main.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | Some(x) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::expressions::ExpressionMethods` [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:618:9 [INFO] [stdout] | [INFO] [stdout] 618 | use crate::parser::expressions::ExpressionMethods; [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 `is_double_quote` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | let mut is_double_quote = false; [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 `end_pos` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:757:25 [INFO] [stdout] | [INFO] [stdout] 757 | let mut end_pos = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_at_beginning_of_line` [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:747:66 [INFO] [stdout] | [INFO] [stdout] 747 | ... Vec, is_at_beginning_of_line: bool, is_blank_line: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_at_beginning_of_line` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:749:13 [INFO] [stdout] | [INFO] [stdout] 749 | let mut start = buffer.index(); [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: unreachable pattern [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1043:13 [INFO] [stdout] | [INFO] [stdout] 1043 | _ => break [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1043:13 [INFO] [stdout] | [INFO] [stdout] 1023 | Ok(x) => { [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1040 | Err(x) => { [INFO] [stdout] | ------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1043 | _ => break [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `at_beginning_of_line` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1030:25 [INFO] [stdout] | [INFO] [stdout] 1030 | at_beginning_of_line = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:989:25 [INFO] [stdout] | [INFO] [stdout] 989 | let mut el : u32 = el_last.clone(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1940:13 [INFO] [stdout] | [INFO] [stdout] 1940 | let mut at_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:2257:13 [INFO] [stdout] | [INFO] [stdout] 2257 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:2469:13 [INFO] [stdout] | [INFO] [stdout] 2469 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:2879:13 [INFO] [stdout] | [INFO] [stdout] 2879 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3301:13 [INFO] [stdout] | [INFO] [stdout] 3301 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3326:13 [INFO] [stdout] | [INFO] [stdout] 3326 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3351:13 [INFO] [stdout] | [INFO] [stdout] 3351 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3390:16 [INFO] [stdout] | [INFO] [stdout] 3390 | Ok(y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3376:13 [INFO] [stdout] | [INFO] [stdout] 3376 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3415:16 [INFO] [stdout] | [INFO] [stdout] 3415 | Ok(y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3401:13 [INFO] [stdout] | [INFO] [stdout] 3401 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3464:16 [INFO] [stdout] | [INFO] [stdout] 3464 | Ok(y) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3426:13 [INFO] [stdout] | [INFO] [stdout] 3426 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3475:13 [INFO] [stdout] | [INFO] [stdout] 3475 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3516:13 [INFO] [stdout] | [INFO] [stdout] 3516 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3533:13 [INFO] [stdout] | [INFO] [stdout] 3533 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3550:13 [INFO] [stdout] | [INFO] [stdout] 3550 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3567:13 [INFO] [stdout] | [INFO] [stdout] 3567 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3590:16 [INFO] [stdout] | [INFO] [stdout] 3590 | Ok(x) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3584:13 [INFO] [stdout] | [INFO] [stdout] 3584 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3603:13 [INFO] [stdout] | [INFO] [stdout] 3603 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3622:13 [INFO] [stdout] | [INFO] [stdout] 3622 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3641:13 [INFO] [stdout] | [INFO] [stdout] 3641 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3660:13 [INFO] [stdout] | [INFO] [stdout] 3660 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3679:13 [INFO] [stdout] | [INFO] [stdout] 3679 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3698:13 [INFO] [stdout] | [INFO] [stdout] 3698 | let mut is_beginning_of_line = false; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path_and_file` [INFO] [stdout] --> python_runtime_engine/src/parser/source_buffer.rs:46:29 [INFO] [stdout] | [INFO] [stdout] 46 | fn from_file(&mut self, path_and_file: &'static str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_and_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> python_runtime_engine/src/parser/source_buffer.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | for n in 1 .. 9 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> python_runtime_engine/src/parser/source_buffer.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | for n in 1 .. 11 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> python_runtime_engine/src/parser/source_buffer.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | for n in 1 .. 23 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> python_runtime_engine/src/parser/source_buffer.rs:373:13 [INFO] [stdout] | [INFO] [stdout] 373 | for n in 1 .. 4 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> python_runtime_engine/src/parser/source_buffer.rs:386:13 [INFO] [stdout] | [INFO] [stdout] 386 | for n in 1 .. 5 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol1` [INFO] [stdout] --> python_runtime_engine/src/parser/expressions.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | let symbol1 = self.get_symbol(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `symbol1` is never read [INFO] [stdout] --> python_runtime_engine/src/parser/expressions.rs:806:11 [INFO] [stdout] | [INFO] [stdout] 806 | let mut symbol1 : Option> = None; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:635:13 [INFO] [stdout] | [INFO] [stdout] 635 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:657:13 [INFO] [stdout] | [INFO] [stdout] 657 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:682:13 [INFO] [stdout] | [INFO] [stdout] 682 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:686:13 [INFO] [stdout] | [INFO] [stdout] 686 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:717:13 [INFO] [stdout] | [INFO] [stdout] 717 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:742:13 [INFO] [stdout] | [INFO] [stdout] 742 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:746:13 [INFO] [stdout] | [INFO] [stdout] 746 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:777:13 [INFO] [stdout] | [INFO] [stdout] 777 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:800:13 [INFO] [stdout] | [INFO] [stdout] 800 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:823:13 [INFO] [stdout] | [INFO] [stdout] 823 | let mut separators = Vec::>::new(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_eval_input` and `parse_file_input` are never used [INFO] [stdout] --> python_runtime_engine/src/parser/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait ParserMethods { [INFO] [stdout] | ------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 13 | fn parse_eval_input(&mut self) -> Result, SyntaxError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | fn parse_file_input(&mut self) -> Result, SyntaxError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `PyEvalInput` and `PyFileInput` are never constructed [INFO] [stdout] --> python_runtime_engine/src/parser/abstract_syntax_tree_nodes.rs:106:2 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ParseNode { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 106 | PyEvalInput(u32, u32, Box, Box>>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 107 | PyFileInput(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseNode` 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 `parse_import_as_name_stmt` and `parse_import_as_names_stmt` are never used [INFO] [stdout] --> python_runtime_engine/src/parser/statements.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait StatementMethods { [INFO] [stdout] | ---------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 24 | fn parse_import_as_name_stmt(&mut self) -> Result, SyntaxError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | fn parse_dotted_name_as_stmt(&mut self) -> Result, SyntaxError>; [INFO] [stdout] 26 | fn parse_import_as_names_stmt(&mut self) -> Result, SyntaxError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.62s [INFO] running `Command { std: "docker" "inspect" "b1a7ca7ac589133bd6dcf4277a5690a40d82befd9b8a528c43968acd59cc72c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b1a7ca7ac589133bd6dcf4277a5690a40d82befd9b8a528c43968acd59cc72c1", kill_on_drop: false }` [INFO] [stdout] b1a7ca7ac589133bd6dcf4277a5690a40d82befd9b8a528c43968acd59cc72c1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9db150d12b01fc62383573d87f6f2311c81f5ec154e9ab4d04dd680015a43ce1 [INFO] running `Command { std: "docker" "start" "-a" "9db150d12b01fc62383573d87f6f2311c81f5ec154e9ab4d04dd680015a43ce1", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] warning: value assigned to `is_double_quote` is never read [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | let mut is_double_quote = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `end_pos` is never read [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:757:25 [INFO] [stderr] | [INFO] [stderr] 757 | let mut end_pos = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `is_at_beginning_of_line` [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:747:66 [INFO] [stderr] | [INFO] [stderr] 747 | ... Vec, is_at_beginning_of_line: bool, is_blank_line: bool) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_at_beginning_of_line` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:749:13 [INFO] [stderr] | [INFO] [stderr] 749 | let mut start = buffer.index(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1043:13 [INFO] [stderr] | [INFO] [stderr] 1043 | _ => break [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1043:13 [INFO] [stderr] | [INFO] [stderr] 1023 | Ok(x) => { [INFO] [stderr] | ----- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1040 | Err(x) => { [INFO] [stderr] | ------ matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1043 | _ => break [INFO] [stderr] | ^ collectively making this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `at_beginning_of_line` is never read [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1030:25 [INFO] [stderr] | [INFO] [stderr] 1030 | at_beginning_of_line = true; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:989:25 [INFO] [stderr] | [INFO] [stderr] 989 | let mut el : u32 = el_last.clone(); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `path_and_file` [INFO] [stderr] --> python_runtime_engine/src/parser/source_buffer.rs:46:29 [INFO] [stderr] | [INFO] [stderr] 46 | fn from_file(&mut self, path_and_file: &'static str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_and_file` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `symbol1` [INFO] [stderr] --> python_runtime_engine/src/parser/expressions.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | let symbol1 = self.get_symbol(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol1` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `symbol1` is never read [INFO] [stderr] --> python_runtime_engine/src/parser/expressions.rs:806:11 [INFO] [stderr] | [INFO] [stderr] 806 | let mut symbol1 : Option> = None; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: trait `ParserMethods` is never used [INFO] [stderr] --> python_runtime_engine/src/parser/parser.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait ParserMethods { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: struct `Parser` is never constructed [INFO] [stderr] --> python_runtime_engine/src/parser/parser.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Parser { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `ParseNode` is never used [INFO] [stderr] --> python_runtime_engine/src/parser/abstract_syntax_tree_nodes.rs:5:10 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum ParseNode { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `ExpressionMethods` is never used [INFO] [stderr] --> python_runtime_engine/src/parser/expressions.rs:6:11 [INFO] [stderr] | [INFO] [stderr] 6 | pub trait ExpressionMethods { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `SyntaxErrorMethods` is never used [INFO] [stderr] --> python_runtime_engine/src/parser/syntax_error.rs:2:11 [INFO] [stderr] | [INFO] [stderr] 2 | pub trait SyntaxErrorMethods { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SyntaxError` is never constructed [INFO] [stderr] --> python_runtime_engine/src/parser/syntax_error.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct SyntaxError { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `StatementMethods` is never used [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | pub trait StatementMethods { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `python_runtime_engine` (lib) generated 17 warnings (run `cargo fix --lib -p python_runtime_engine` to apply 2 suggestions) [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> python_core/src/main.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | Some(x) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `python_core` (bin "python_core" test) generated 1 warning [INFO] [stderr] warning: unused import: `crate::parser::expressions::ExpressionMethods` [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:618:9 [INFO] [stderr] | [INFO] [stderr] 618 | use crate::parser::expressions::ExpressionMethods; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:1940:13 [INFO] [stderr] | [INFO] [stderr] 1940 | let mut at_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:2257:13 [INFO] [stderr] | [INFO] [stderr] 2257 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:2469:13 [INFO] [stderr] | [INFO] [stderr] 2469 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:2879:13 [INFO] [stderr] | [INFO] [stderr] 2879 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3301:13 [INFO] [stderr] | [INFO] [stderr] 3301 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3326:13 [INFO] [stderr] | [INFO] [stderr] 3326 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3351:13 [INFO] [stderr] | [INFO] [stderr] 3351 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3390:16 [INFO] [stderr] | [INFO] [stderr] 3390 | Ok(y) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3376:13 [INFO] [stderr] | [INFO] [stderr] 3376 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3415:16 [INFO] [stderr] | [INFO] [stderr] 3415 | Ok(y) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3401:13 [INFO] [stderr] | [INFO] [stderr] 3401 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3464:16 [INFO] [stderr] | [INFO] [stderr] 3464 | Ok(y) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3426:13 [INFO] [stderr] | [INFO] [stderr] 3426 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3475:13 [INFO] [stderr] | [INFO] [stderr] 3475 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3516:13 [INFO] [stderr] | [INFO] [stderr] 3516 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3533:13 [INFO] [stderr] | [INFO] [stderr] 3533 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3550:13 [INFO] [stderr] | [INFO] [stderr] 3550 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3567:13 [INFO] [stderr] | [INFO] [stderr] 3567 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3590:16 [INFO] [stderr] | [INFO] [stderr] 3590 | Ok(x) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3584:13 [INFO] [stderr] | [INFO] [stderr] 3584 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3603:13 [INFO] [stderr] | [INFO] [stderr] 3603 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3622:13 [INFO] [stderr] | [INFO] [stderr] 3622 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3641:13 [INFO] [stderr] | [INFO] [stderr] 3641 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3660:13 [INFO] [stderr] | [INFO] [stderr] 3660 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3679:13 [INFO] [stderr] | [INFO] [stderr] 3679 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/lexical_analyzer.rs:3698:13 [INFO] [stderr] | [INFO] [stderr] 3698 | let mut is_beginning_of_line = false; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> python_runtime_engine/src/parser/source_buffer.rs:334:13 [INFO] [stderr] | [INFO] [stderr] 334 | for n in 1 .. 9 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> python_runtime_engine/src/parser/source_buffer.rs:347:13 [INFO] [stderr] | [INFO] [stderr] 347 | for n in 1 .. 11 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> python_runtime_engine/src/parser/source_buffer.rs:360:13 [INFO] [stderr] | [INFO] [stderr] 360 | for n in 1 .. 23 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> python_runtime_engine/src/parser/source_buffer.rs:373:13 [INFO] [stderr] | [INFO] [stderr] 373 | for n in 1 .. 4 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> python_runtime_engine/src/parser/source_buffer.rs:386:13 [INFO] [stderr] | [INFO] [stderr] 386 | for n in 1 .. 5 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:635:13 [INFO] [stderr] | [INFO] [stderr] 635 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:657:13 [INFO] [stderr] | [INFO] [stderr] 657 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:682:13 [INFO] [stderr] | [INFO] [stderr] 682 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:686:13 [INFO] [stderr] | [INFO] [stderr] 686 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:717:13 [INFO] [stderr] | [INFO] [stderr] 717 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:742:13 [INFO] [stderr] | [INFO] [stderr] 742 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:746:13 [INFO] [stderr] | [INFO] [stderr] 746 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:777:13 [INFO] [stderr] | [INFO] [stderr] 777 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:800:13 [INFO] [stderr] | [INFO] [stderr] 800 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:823:13 [INFO] [stderr] | [INFO] [stderr] 823 | let mut separators = Vec::>::new(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: methods `parse_eval_input` and `parse_file_input` are never used [INFO] [stderr] --> python_runtime_engine/src/parser/parser.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait ParserMethods { [INFO] [stderr] | ------------- methods in this trait [INFO] [stderr] ... [INFO] [stderr] 13 | fn parse_eval_input(&mut self) -> Result, SyntaxError>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 14 | fn parse_file_input(&mut self) -> Result, SyntaxError>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variants `PyEvalInput` and `PyFileInput` are never constructed [INFO] [stderr] --> python_runtime_engine/src/parser/abstract_syntax_tree_nodes.rs:106:2 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum ParseNode { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 106 | PyEvalInput(u32, u32, Box, Box>>), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 107 | PyFileInput(u32, u32, Box>>, Box>>), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ParseNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `parse_import_as_name_stmt` and `parse_import_as_names_stmt` are never used [INFO] [stderr] --> python_runtime_engine/src/parser/statements.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 7 | pub trait StatementMethods { [INFO] [stderr] | ---------------- methods in this trait [INFO] [stderr] ... [INFO] [stderr] 24 | fn parse_import_as_name_stmt(&mut self) -> Result, SyntaxError>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 25 | fn parse_dotted_name_as_stmt(&mut self) -> Result, SyntaxError>; [INFO] [stderr] 26 | fn parse_import_as_names_stmt(&mut self) -> Result, SyntaxError>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `python_runtime_engine` (lib test) generated 55 warnings (10 duplicates) (run `cargo fix --lib -p python_runtime_engine --tests` to apply 33 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/python_core-8014a7f336685e9c) [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/lib.rs (/opt/rustwide/target/debug/deps/python_runtime_engine-20324ade40ce138a) [INFO] [stdout] [INFO] [stdout] running 280 tests [INFO] [stdout] test parser::expressions::tests::parse_atom_ellipsis ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_empty_tuple ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_expr_await_name ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_empty_dictionary ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_expr_none ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_empty_list ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_false ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_multiple_string ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_name ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_none ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_number ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_simple_string ... ok [INFO] [stdout] test parser::expressions::tests::parse_atom_true ... ok [INFO] [stdout] test parser::expressions::tests::parse_double_arith_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_double_bit_and_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_double_bit_or_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_double_bit_xor_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_double_mul_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_empty_test ... ok [INFO] [stdout] test parser::expressions::tests::parse_double_shift_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_expr_list_1 ... ok [INFO] [stdout] test parser::expressions::tests::parse_multiple_less_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_expr_list_2 ... ok [INFO] [stdout] test parser::expressions::tests::parse_expr_list_5 ... ok [INFO] [stdout] test parser::expressions::tests::parse_multiple_not_test ... ok [INFO] [stdout] test parser::expressions::tests::parse_expr_list_3 ... ok [INFO] [stdout] test parser::expressions::tests::parse_multiple_and_test ... ok [INFO] [stdout] test parser::expressions::tests::parse_expr_list_4 ... ok [INFO] [stdout] test parser::expressions::tests::parse_named_expr ... ok [INFO] [stdout] test parser::expressions::tests::parse_multiple_or_test ... ok [INFO] [stdout] test parser::expressions::tests::parse_no_power_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_and_test ... ok [INFO] [stdout] test parser::expressions::tests::parse_power_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_bit_and_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_bit_or_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_bit_xor_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_equal_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_div_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_floor_div_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_greater_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_greater_equal_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_in_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_is_not_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_is_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_less_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_less_equal_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_modulo_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_minus_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_matrices_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_mul_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_not_test ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_plus_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_not_equal_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_not_in_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_shift_right_operator ... ok [INFO] [stdout] test parser::expressions::tests::parse_star_expr ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_or_test ... ok [INFO] [stdout] test parser::expressions::tests::parse_test ... ok [INFO] [stdout] test parser::expressions::tests::parse_single_shift_left_operator ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_a_few_tokens ... ok [INFO] [stdout] test parser::expressions::tests::parse_unary_bit_invert ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_comment ... ok [INFO] [stdout] test parser::expressions::tests::parse_unary_minus ... ok [INFO] [stdout] test parser::expressions::tests::parse_unary_plus ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_newline_with_token_2 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_eof ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_newline_with_token_3 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_newline_with_token_5 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_newline_with_token_6 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_newline_with_token_1 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_newline_with_token_4 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_float_simple ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_binary_digits_2 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_float_simple_exponent_low_1 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_binary_digits_1 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_float_simple_exponent_low_3 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_float_simple_exponent_low_2 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_float_simple_exponent_low_5 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_hexadecimal_digits_1 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_hexadecimal_digits_2 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_hexadecimal_digits_3 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_hexadecimal_digits_4 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_nonzero_errors ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_binary_digits_limits_higher ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_integer ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_integer_imaginary_high ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_dot_zero ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_integer_imaginary_low ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_single_nonzero_digit ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_octet_digits_limits_higher ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_single_zero_digit ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_octet_digits_2 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_octet_digits_1 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero_with_exponent_2 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero_with_exponent_1 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_parenthesis_2 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero_with_exponent_3 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero_j ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero_capital_j ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_parenthesis_3 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_parenthesis_1 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero_with_exponent_4 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero_with_exponent_5 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_zero_dot_zero_with_exponent_2_advance ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_number_float_simple_exponent_low_4 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_parenthesis_5 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_low ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_high ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_parenthesis_7 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_double_data ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_parenthesis_6 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_parenthesis_4 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_raw_1 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_raw_3 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_raw_2 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_double_empty ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_raw_8 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_raw_high ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_raw_4 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_raw_low ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_unicode_high ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_raw_5 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_raw_7 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_format_raw_6 ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_double_quote_with_unicode_low ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_single_quote ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_empty_single_quote_advance ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_triple_single_empty ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_single_data ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_triple_single_with_double_quote ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_single_data_with_end_of_file_error ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_single_data_with_newline_error ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_single_empty ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_type_comment ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_triple_double_empty ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_triple_data_with_newline ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::line_continuation_test ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_triple_data_with_double_quote ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::handle_string_triple_double_with_single_quote ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::line_continuation_test_should_fail ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_arrow ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_bit_and ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_colon_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_comma ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_decorator_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_bit_or ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_decorator ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_bit_invert ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_bit_or_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_bit_and_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_bit_xor ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_bit_xor_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_colon ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_div ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_div_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_dot ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_double_div ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_elipsis ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_double_div_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_equal ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_error_double_dot ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_error_unknown_character ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_greater ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_greater_equal ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_left_bracket ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_left_curly ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_left_paren ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_less ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_less_equal ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_minus ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_minus_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_modulo ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_modulo_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_mul ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_mul_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_not_equal ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_plus ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_plus_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_power ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_power_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_right_bracket ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_right_curly ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_right_paren ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_semicolon ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_shift_left ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_shift_left_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_shift_right ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::operator_or_delimiter_shift_right_assign ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_and ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_as ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_assert ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_async ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_await ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_break ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_break_advance_whitespace ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_class ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_continue ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_def ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_del ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_elif ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_else ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_except ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_false ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_finally ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_for ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_from ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_global ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_if ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_import ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_in ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_is ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_lambda ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_name ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_none ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_nonlocal ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_not ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_or ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_pass ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_pass_advance ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_raise ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_return ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_true ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_try ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_while ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_with ... ok [INFO] [stdout] test parser::lexical_analyzer::tests::reserved_keyword_yield ... ok [INFO] [stdout] test parser::parser::tests::test_general_parsing ... ok [INFO] [stdout] test parser::source_buffer::tests::check_for_binary_digit ... ok [INFO] [stdout] test parser::source_buffer::tests::check_for_decimal_digit ... ok [INFO] [stdout] test parser::source_buffer::tests::check_for_end_of_file ... ok [INFO] [stdout] test parser::source_buffer::tests::check_for_character_not_first_literal ... ok [INFO] [stdout] test parser::source_buffer::tests::check_for_end_of_file_not ... ok [INFO] [stdout] test parser::source_buffer::tests::check_for_hexadecimal_digit ... ok [INFO] [stdout] test parser::source_buffer::tests::check_for_octet_digit ... ok [INFO] [stdout] test parser::source_buffer::tests::check_for_start_literal ... ok [INFO] [stdout] test parser::source_buffer::tests::collect_position_in_buffer ... ok [INFO] [stdout] test parser::source_buffer::tests::collect_slice_from_buffer ... ok [INFO] [stdout] test parser::source_buffer::tests::collect_splice_from_buffer ... ok [INFO] [stdout] test parser::source_buffer::tests::create_buffer_from_text_and_check_length ... ok [INFO] [stdout] test parser::source_buffer::tests::peek_one_character ... ok [INFO] [stdout] test parser::source_buffer::tests::peek_one_character_at_end ... ok [INFO] [stdout] test parser::source_buffer::tests::peek_three_character ... ok [INFO] [stdout] test parser::source_buffer::tests::peek_three_character_at_end ... ok [INFO] [stdout] test parser::statements::tests::parse_annotated_simple_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_annotated_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_assert_statement_multiple ... ok [INFO] [stdout] test parser::statements::tests::parse_assert_statement_single ... ok [INFO] [stdout] test parser::statements::tests::parse_assign_multiple_no_type_comment_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_assign_multiple_with_type_comment_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_assign_single_no_type_comment_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_bit_and_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_bit_or_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_del_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_div_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_bit_xor_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_floor_div_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_global_statement_multiple ... ok [INFO] [stdout] test parser::statements::tests::parse_global_statement_single ... ok [INFO] [stdout] test parser::statements::tests::parse_minus_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_modulo_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_mul_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_non_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_nonlocal_statement_multiple ... ok [INFO] [stdout] test parser::statements::tests::parse_plus_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_plus_assign_yield_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_power_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_shift_left_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_pass_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_nonlocal_statement_single ... ok [INFO] [stdout] test parser::statements::tests::parse_simple_break_statement_without_flow_control ... ok [INFO] [stdout] test parser::statements::tests::parse_simple_continue_statement_without_flow_control ... ok [INFO] [stdout] test parser::statements::tests::parse_shift_right_assign_statement ... ok [INFO] [stdout] test parser::statements::tests::parse_simple_raise_statement_with_single_argument_without_flow_control ... ok [INFO] [stdout] test tests::it_works ... ok [INFO] [stdout] test parser::statements::tests::parse_simple_return_statement_with_list_without_flow_control ... ok [INFO] [stdout] test parser::statements::tests::parse_simple_return_statement_without_flow_control ... ok [INFO] [stdout] test parser::statements::tests::parse_simple_raise_statement_with_double_argument_without_flow_control ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 280 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Doc-tests python_runtime_engine [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] running `Command { std: "docker" "inspect" "9db150d12b01fc62383573d87f6f2311c81f5ec154e9ab4d04dd680015a43ce1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9db150d12b01fc62383573d87f6f2311c81f5ec154e9ab4d04dd680015a43ce1", kill_on_drop: false }` [INFO] [stdout] 9db150d12b01fc62383573d87f6f2311c81f5ec154e9ab4d04dd680015a43ce1