[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] building stenbror/python_core_rust against master#70591dc15db32941fe3595fdbf98e58d6975f95e for pr-127731 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstenbror%2Fpython_core_rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/stenbror/python_core_rust on toolchain 70591dc15db32941fe3595fdbf98e58d6975f95e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+70591dc15db32941fe3595fdbf98e58d6975f95e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-tc1/source/Cargo.toml [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" "+70591dc15db32941fe3595fdbf98e58d6975f95e" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+70591dc15db32941fe3595fdbf98e58d6975f95e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2865b35873e910c50d36e3905b4f7a6ee273a25653b66179a338155542e84181 [INFO] running `Command { std: "docker" "start" "-a" "2865b35873e910c50d36e3905b4f7a6ee273a25653b66179a338155542e84181", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2865b35873e910c50d36e3905b4f7a6ee273a25653b66179a338155542e84181", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2865b35873e910c50d36e3905b4f7a6ee273a25653b66179a338155542e84181", kill_on_drop: false }` [INFO] [stdout] 2865b35873e910c50d36e3905b4f7a6ee273a25653b66179a338155542e84181 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+70591dc15db32941fe3595fdbf98e58d6975f95e" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 839486b1f02cb841caa00a94fe7e6289f790ea7e52f4dea70dadfa4e9043cd5c [INFO] running `Command { std: "docker" "start" "-a" "839486b1f02cb841caa00a94fe7e6289f790ea7e52f4dea70dadfa4e9043cd5c", 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)]` 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)]` 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)]` 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] | ^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] note: these patterns collectively make the last one unreachable [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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> python_runtime_engine/src/parser/abstract_syntax_tree_nodes.rs:8:2 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ParseNode { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | PyNone(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | PyFalse(u32, u32, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 10 | PyTrue(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | PyEllipsis(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | PyName(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | PyNumber(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | PyString(u32, u32, Box>>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | PyAtomExpr(u32, u32, Option, Box, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | PyPower(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 17 | PyUnaryPlus(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 18 | PyUnaryMinus(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 19 | PyUnaryBitInvert(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | PyMul(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | PyDiv(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | PyFloorDiv(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 23 | PyModulo(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 24 | PyMatrices(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | PyPlus(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 26 | PyMinus(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 27 | PyShiftLeft(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 28 | PyShiftRight(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 29 | PyBitAnd(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 30 | PyBitXor(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 31 | PyBitOr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 32 | PyStarExpr(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | PyLess(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | PyLessEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | PyEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | PyGreaterEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 37 | PyGreater(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 38 | PyNotEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 39 | PyIn(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | PyNotIn(u32, u32, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | PyIs(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | PyIsNot(u32, u32, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 43 | PyNotTest(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 44 | PyAndTest(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 45 | PyOrTest(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 46 | PyLambda(u32, u32, Box, Option>, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | PyTest(u32, u32, Box, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 48 | PyNamedExpr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 49 | PyTuple(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 50 | PyList(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 51 | PySet(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 52 | PyDictionary(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 53 | PyExprList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 54 | PyTestList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 55 | PyArgList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 56 | PySubscriptList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | PySubscript(u32, u32, Option>, Option>, Option>, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 58 | PyArgumentVarList(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | PyArgumentKeywordList(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 60 | PyArgument(u32, u32, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | PySyncCompFor(u32, u32, Box, Box, Box, Box, Option>), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 62 | PyCompFor(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 63 | PyCompIf(u32, u32, Box, Box, Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 64 | PyYieldExpr(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 65 | PyYieldFromExpr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | PyDotName(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 67 | PyCall(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | PyIndex(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 69 | PyDictionaryContainer(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | PyDictionaryEntry(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | PySetContainer(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 72 | PyDictionaryFrom(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | PySimpleStmt(u32, u32, Box>>, Box>>, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 76 | PyPlusAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 77 | PyMinusAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 78 | PyMulAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 79 | PyDivAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 80 | PyFloorDivAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | PyBitAndAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 82 | PyBitXorAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 83 | PyBitOrAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 84 | PyShiftLeftAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | PyShiftRightAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | PyPowerAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 87 | PyModuloAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 88 | PyAnnotatedAssign(u32, u32, Box, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | PyAssignment(u32, u32, Box, Box>>, Box>>, Option>), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 90 | PyPass(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | PyDel(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 92 | PyBreak(u32, u32, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 93 | PyContinue(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 94 | PyReturn(u32, u32, Box, Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 95 | PyRaise(u32, u32, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 96 | [INFO] [stdout] 97 | PyImport(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 98 | PyDottedAsNames(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 99 | PyDottedAsName(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 100 | PyDottedName(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 101 | PyGlobal(u32, u32, Box, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 102 | PyNonLocal(u32, u32, Box, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 103 | PyAssert(u32, u32, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^ [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: 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: associated function `new` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/syntax_error.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait SyntaxErrorMethods { [INFO] [stdout] | ------------------ associated function in this trait [INFO] [stdout] 3 | fn new(msg: String, pos: u32) -> Self; [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] [stdout] warning: 15 warnings emitted [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.35s [INFO] running `Command { std: "docker" "inspect" "839486b1f02cb841caa00a94fe7e6289f790ea7e52f4dea70dadfa4e9043cd5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "839486b1f02cb841caa00a94fe7e6289f790ea7e52f4dea70dadfa4e9043cd5c", kill_on_drop: false }` [INFO] [stdout] 839486b1f02cb841caa00a94fe7e6289f790ea7e52f4dea70dadfa4e9043cd5c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+70591dc15db32941fe3595fdbf98e58d6975f95e" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b4288e81d5b137520f4678fb8503f07f0174f44640e3041efffcc703c2d05564 [INFO] running `Command { std: "docker" "start" "-a" "b4288e81d5b137520f4678fb8503f07f0174f44640e3041efffcc703c2d05564", 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)]` 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)]` 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)]` 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] | ^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] note: these patterns collectively make the last one unreachable [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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> python_runtime_engine/src/parser/abstract_syntax_tree_nodes.rs:8:2 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ParseNode { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | PyNone(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | PyFalse(u32, u32, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 10 | PyTrue(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | PyEllipsis(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | PyName(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | PyNumber(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | PyString(u32, u32, Box>>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | PyAtomExpr(u32, u32, Option, Box, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | PyPower(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 17 | PyUnaryPlus(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 18 | PyUnaryMinus(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 19 | PyUnaryBitInvert(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | PyMul(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | PyDiv(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | PyFloorDiv(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 23 | PyModulo(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 24 | PyMatrices(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | PyPlus(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 26 | PyMinus(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 27 | PyShiftLeft(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 28 | PyShiftRight(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 29 | PyBitAnd(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 30 | PyBitXor(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 31 | PyBitOr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 32 | PyStarExpr(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | PyLess(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | PyLessEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | PyEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | PyGreaterEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 37 | PyGreater(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 38 | PyNotEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 39 | PyIn(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | PyNotIn(u32, u32, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | PyIs(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | PyIsNot(u32, u32, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 43 | PyNotTest(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 44 | PyAndTest(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 45 | PyOrTest(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 46 | PyLambda(u32, u32, Box, Option>, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | PyTest(u32, u32, Box, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 48 | PyNamedExpr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 49 | PyTuple(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 50 | PyList(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 51 | PySet(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 52 | PyDictionary(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 53 | PyExprList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 54 | PyTestList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 55 | PyArgList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 56 | PySubscriptList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | PySubscript(u32, u32, Option>, Option>, Option>, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 58 | PyArgumentVarList(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | PyArgumentKeywordList(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 60 | PyArgument(u32, u32, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | PySyncCompFor(u32, u32, Box, Box, Box, Box, Option>), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 62 | PyCompFor(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 63 | PyCompIf(u32, u32, Box, Box, Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 64 | PyYieldExpr(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 65 | PyYieldFromExpr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | PyDotName(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 67 | PyCall(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | PyIndex(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 69 | PyDictionaryContainer(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | PyDictionaryEntry(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | PySetContainer(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 72 | PyDictionaryFrom(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | PySimpleStmt(u32, u32, Box>>, Box>>, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 76 | PyPlusAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 77 | PyMinusAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 78 | PyMulAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 79 | PyDivAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 80 | PyFloorDivAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | PyBitAndAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 82 | PyBitXorAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 83 | PyBitOrAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 84 | PyShiftLeftAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | PyShiftRightAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | PyPowerAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 87 | PyModuloAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 88 | PyAnnotatedAssign(u32, u32, Box, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | PyAssignment(u32, u32, Box, Box>>, Box>>, Option>), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 90 | PyPass(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | PyDel(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 92 | PyBreak(u32, u32, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 93 | PyContinue(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 94 | PyReturn(u32, u32, Box, Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 95 | PyRaise(u32, u32, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 96 | [INFO] [stdout] 97 | PyImport(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 98 | PyDottedAsNames(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 99 | PyDottedAsName(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 100 | PyDottedName(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 101 | PyGlobal(u32, u32, Box, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 102 | PyNonLocal(u32, u32, Box, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 103 | PyAssert(u32, u32, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^ [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: 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: associated function `new` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/syntax_error.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait SyntaxErrorMethods { [INFO] [stdout] | ------------------ associated function in this trait [INFO] [stdout] 3 | fn new(msg: String, pos: u32) -> Self; [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] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling python_core v0.1.0 (/opt/rustwide/workdir/python_core) [INFO] [stderr] Compiling python_runtime_engine v0.1.0 (/opt/rustwide/workdir/python_runtime_engine) [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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [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)]` 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)]` 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)]` 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] | ^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] note: these patterns collectively make the last one unreachable [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)]` 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)]` 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] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.11s [INFO] running `Command { std: "docker" "inspect" "b4288e81d5b137520f4678fb8503f07f0174f44640e3041efffcc703c2d05564", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b4288e81d5b137520f4678fb8503f07f0174f44640e3041efffcc703c2d05564", kill_on_drop: false }` [INFO] [stdout] b4288e81d5b137520f4678fb8503f07f0174f44640e3041efffcc703c2d05564 [INFO] building stenbror/python_core_rust against try#7587ff3622fbec0abf6ac551eab5226f22f5d958 for pr-127731 [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] validating manifest of git repo https://github.com/stenbror/python_core_rust on toolchain 7587ff3622fbec0abf6ac551eab5226f22f5d958 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7587ff3622fbec0abf6ac551eab5226f22f5d958" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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] 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" "+7587ff3622fbec0abf6ac551eab5226f22f5d958" "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] 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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+7587ff3622fbec0abf6ac551eab5226f22f5d958" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 29de4b47a88316f8e6942051e9e24919e0707879394f40c4892fa721ab1a0e5e [INFO] running `Command { std: "docker" "start" "-a" "29de4b47a88316f8e6942051e9e24919e0707879394f40c4892fa721ab1a0e5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "29de4b47a88316f8e6942051e9e24919e0707879394f40c4892fa721ab1a0e5e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29de4b47a88316f8e6942051e9e24919e0707879394f40c4892fa721ab1a0e5e", kill_on_drop: false }` [INFO] [stdout] 29de4b47a88316f8e6942051e9e24919e0707879394f40c4892fa721ab1a0e5e [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+7587ff3622fbec0abf6ac551eab5226f22f5d958" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5131457136c1f355aeb0689e61b46fd6676c443270656267c2db061b4311537f [INFO] running `Command { std: "docker" "start" "-a" "5131457136c1f355aeb0689e61b46fd6676c443270656267c2db061b4311537f", 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)]` 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)]` 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)]` 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] | ^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] note: these patterns collectively make the last one unreachable [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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> python_runtime_engine/src/parser/abstract_syntax_tree_nodes.rs:8:2 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ParseNode { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | PyNone(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | PyFalse(u32, u32, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 10 | PyTrue(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | PyEllipsis(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | PyName(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | PyNumber(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | PyString(u32, u32, Box>>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | PyAtomExpr(u32, u32, Option, Box, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | PyPower(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 17 | PyUnaryPlus(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 18 | PyUnaryMinus(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 19 | PyUnaryBitInvert(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | PyMul(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | PyDiv(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | PyFloorDiv(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 23 | PyModulo(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 24 | PyMatrices(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | PyPlus(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 26 | PyMinus(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 27 | PyShiftLeft(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 28 | PyShiftRight(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 29 | PyBitAnd(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 30 | PyBitXor(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 31 | PyBitOr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 32 | PyStarExpr(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | PyLess(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | PyLessEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | PyEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | PyGreaterEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 37 | PyGreater(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 38 | PyNotEqual(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 39 | PyIn(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | PyNotIn(u32, u32, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | PyIs(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | PyIsNot(u32, u32, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 43 | PyNotTest(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 44 | PyAndTest(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 45 | PyOrTest(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 46 | PyLambda(u32, u32, Box, Option>, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | PyTest(u32, u32, Box, Box, Box, Box, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 48 | PyNamedExpr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 49 | PyTuple(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 50 | PyList(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 51 | PySet(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 52 | PyDictionary(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 53 | PyExprList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 54 | PyTestList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 55 | PyArgList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 56 | PySubscriptList(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | PySubscript(u32, u32, Option>, Option>, Option>, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 58 | PyArgumentVarList(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | PyArgumentKeywordList(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 60 | PyArgument(u32, u32, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | PySyncCompFor(u32, u32, Box, Box, Box, Box, Option>), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 62 | PyCompFor(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 63 | PyCompIf(u32, u32, Box, Box, Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 64 | PyYieldExpr(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 65 | PyYieldFromExpr(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | PyDotName(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 67 | PyCall(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | PyIndex(u32, u32, Box, Option>, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 69 | PyDictionaryContainer(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | PyDictionaryEntry(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | PySetContainer(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 72 | PyDictionaryFrom(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | PySimpleStmt(u32, u32, Box>>, Box>>, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 76 | PyPlusAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 77 | PyMinusAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 78 | PyMulAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 79 | PyDivAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 80 | PyFloorDivAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | PyBitAndAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 82 | PyBitXorAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 83 | PyBitOrAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 84 | PyShiftLeftAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | PyShiftRightAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | PyPowerAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 87 | PyModuloAssign(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 88 | PyAnnotatedAssign(u32, u32, Box, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | PyAssignment(u32, u32, Box, Box>>, Box>>, Option>), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 90 | PyPass(u32, u32, Box), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | PyDel(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 92 | PyBreak(u32, u32, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 93 | PyContinue(u32, u32, Box), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 94 | PyReturn(u32, u32, Box, Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 95 | PyRaise(u32, u32, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 96 | [INFO] [stdout] 97 | PyImport(u32, u32, Box, Box), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 98 | PyDottedAsNames(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 99 | PyDottedAsName(u32, u32, Box, Box, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 100 | PyDottedName(u32, u32, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 101 | PyGlobal(u32, u32, Box, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 102 | PyNonLocal(u32, u32, Box, Box>>, Box>>), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 103 | PyAssert(u32, u32, Box, Box, Option>, Option>), [INFO] [stdout] | ^^^^^^^^ [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: 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: associated function `new` is never used [INFO] [stdout] --> python_runtime_engine/src/parser/syntax_error.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait SyntaxErrorMethods { [INFO] [stdout] | ------------------ associated function in this trait [INFO] [stdout] 3 | fn new(msg: String, pos: u32) -> Self; [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] [stdout] warning: 15 warnings emitted [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.10s [INFO] running `Command { std: "docker" "inspect" "5131457136c1f355aeb0689e61b46fd6676c443270656267c2db061b4311537f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5131457136c1f355aeb0689e61b46fd6676c443270656267c2db061b4311537f", kill_on_drop: false }` [INFO] [stdout] 5131457136c1f355aeb0689e61b46fd6676c443270656267c2db061b4311537f [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+7587ff3622fbec0abf6ac551eab5226f22f5d958" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Error response from daemon: mkdir /var/lib/docker/overlay2/af70db870239e231f175c6b1ea8fafb9d19a0c539d314d71127d55c7a4b7865b/work: no space left on device