[INFO] cloning repository https://github.com/mvojacek/rust-expr-calc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mvojacek/rust-expr-calc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvojacek%2Frust-expr-calc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvojacek%2Frust-expr-calc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fe285145034d08d383d362c3f5f6c61aa72daf6c [INFO] checking mvojacek/rust-expr-calc against master#426a60abc213b28a7c7198e475476b6e650d871f for pr-129199 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvojacek%2Frust-expr-calc" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mvojacek/rust-expr-calc on toolchain 426a60abc213b28a7c7198e475476b6e650d871f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+426a60abc213b28a7c7198e475476b6e650d871f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mvojacek/rust-expr-calc [INFO] finished tweaking git repo https://github.com/mvojacek/rust-expr-calc [INFO] tweaked toml for git repo https://github.com/mvojacek/rust-expr-calc written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/mvojacek/rust-expr-calc 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" "+426a60abc213b28a7c7198e475476b6e650d871f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] checking mvojacek/rust-expr-calc against try#2c70eb47850052381670935f807d41647a7dc992 for pr-129199 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvojacek%2Frust-expr-calc" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mvojacek/rust-expr-calc on toolchain 2c70eb47850052381670935f807d41647a7dc992 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2c70eb47850052381670935f807d41647a7dc992" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mvojacek/rust-expr-calc [INFO] finished tweaking git repo https://github.com/mvojacek/rust-expr-calc [INFO] tweaked toml for git repo https://github.com/mvojacek/rust-expr-calc written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/mvojacek/rust-expr-calc 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" "+2c70eb47850052381670935f807d41647a7dc992" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+2c70eb47850052381670935f807d41647a7dc992" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 18c073e49f87d904dcd60489b56d6fce8d9090a51aa59786de30f81817d87a38 [INFO] running `Command { std: "docker" "start" "-a" "18c073e49f87d904dcd60489b56d6fce8d9090a51aa59786de30f81817d87a38", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "18c073e49f87d904dcd60489b56d6fce8d9090a51aa59786de30f81817d87a38", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18c073e49f87d904dcd60489b56d6fce8d9090a51aa59786de30f81817d87a38", kill_on_drop: false }` [INFO] [stdout] 18c073e49f87d904dcd60489b56d6fce8d9090a51aa59786de30f81817d87a38 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+2c70eb47850052381670935f807d41647a7dc992" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c477d1cf71e45f9437e41307283eea7b2779fa9d4d68234d10114c05cfeb5dbb [INFO] running `Command { std: "docker" "start" "-a" "c477d1cf71e45f9437e41307283eea7b2779fa9d4d68234d10114c05cfeb5dbb", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.4 [INFO] [stderr] Compiling num-bigint v0.2.2 [INFO] [stderr] Compiling num-complex v0.2.1 [INFO] [stderr] Compiling num-rational v0.2.1 [INFO] [stderr] Checking either v1.5.2 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking rustplay v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `unstable` [INFO] [stdout] --> src/splitkeep.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | #[cfg(not(feature = "unstable"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `unstable` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `unstable` [INFO] [stdout] --> src/splitkeep.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg(not(feature = "unstable"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `unstable` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `unstable` [INFO] [stdout] --> src/splitkeep.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | #[cfg(not(feature = "unstable"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `unstable` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/asdebug.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(specialization, core_intrinsics)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `unstable` [INFO] [stdout] --> src/splitkeep.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | #[cfg(not(feature = "unstable"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `unstable` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `unstable` [INFO] [stdout] --> src/splitkeep.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | #[cfg(not(feature = "unstable"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `unstable` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `unstable` [INFO] [stdout] --> src/splitkeep.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | #[cfg(not(feature = "unstable"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `unstable` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/nodelinkedlist.rs:347:42 [INFO] [stdout] | [INFO] [stdout] 347 | let mut n: [Node; 4] = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/asdebug.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(specialization, core_intrinsics)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | OpErr(Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 99 | OpErr(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/asdebug.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | fn as_debug(&self) -> &Debug; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 6 | fn as_debug(&self) -> &dyn Debug; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/asdebug.rs:16:28 [INFO] [stdout] | [INFO] [stdout] 16 | fn as_debug(&self) -> &Debug { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | fn as_debug(&self) -> &dyn Debug { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/nodelinkedlist.rs:347:42 [INFO] [stdout] | [INFO] [stdout] 347 | let mut n: [Node; 4] = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:210:40 [INFO] [stdout] | [INFO] [stdout] 210 | where F: Fn(N, N) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 210 | where F: Fn(N, N) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | OpErr(Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 99 | OpErr(Box), [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/asdebug.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | fn as_debug(&self) -> &Debug; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 6 | fn as_debug(&self) -> &dyn Debug; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/asdebug.rs:16:28 [INFO] [stdout] | [INFO] [stdout] 16 | fn as_debug(&self) -> &Debug { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 | fn as_debug(&self) -> &dyn Debug { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:210:40 [INFO] [stdout] | [INFO] [stdout] 210 | where F: Fn(N, N) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 210 | where F: Fn(N, N) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/nodelinkedlist.rs:327:48 [INFO] [stdout] | [INFO] [stdout] 327 | let it = &mut iter.into_iter() as &mut Iterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 327 | let it = &mut iter.into_iter() as &mut dyn Iterator; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/nodelinkedlist.rs:327:48 [INFO] [stdout] | [INFO] [stdout] 327 | let it = &mut iter.into_iter() as &mut Iterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 327 | let it = &mut iter.into_iter() as &mut dyn Iterator; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `locked` [INFO] [stdout] --> src/main.rs:184:24 [INFO] [stdout] | [INFO] [stdout] 184 | Expr::Num { n, locked } => Ok(n), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:225:37 [INFO] [stdout] | [INFO] [stdout] 225 | Expr::Num { n, locked } => { [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:233:29 [INFO] [stdout] | [INFO] [stdout] 233 | Expr::Num { n, locked: true } => return Ok(()), [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:241:37 [INFO] [stdout] | [INFO] [stdout] 241 | Expr::Num { n, locked } => { [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:249:29 [INFO] [stdout] | [INFO] [stdout] 249 | Expr::Num { n, locked: true } => return Ok(()), [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/main.rs:276:44 [INFO] [stdout] | [INFO] [stdout] 276 | paren_mut_adjacent_num(&n, p, |num, locked| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `locked` [INFO] [stdout] --> src/main.rs:292:32 [INFO] [stdout] | [INFO] [stdout] 292 | Expr::Num { n, locked } => n, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:302:65 [INFO] [stdout] | [INFO] [stdout] 302 | paren_mut_adjacent_num(&close_paren, Paren::Close, |n, locked| { [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] --> src/main.rs:305:63 [INFO] [stdout] | [INFO] [stdout] 305 | paren_mut_adjacent_num(&open_paren, Paren::Open, |n, locked| { [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] --> src/main.rs:385:25 [INFO] [stdout] | [INFO] [stdout] 385 | Expr::Num { n, locked } => true, [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `locked` [INFO] [stdout] --> src/main.rs:385:28 [INFO] [stdout] | [INFO] [stdout] 385 | Expr::Num { n, locked } => true, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate10` is never used [INFO] [stdout] --> src/main.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn calculate10(expr: &String) -> Result, CalcErr)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_num`, `is_op`, and `is_paren` are never used [INFO] [stdout] --> src/main.rs:383:8 [INFO] [stdout] | [INFO] [stdout] 382 | impl Expr { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 383 | fn is_num(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | fn is_op(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | fn is_paren(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_debug` is never used [INFO] [stdout] --> src/asdebug.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait AsDebug { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] 6 | fn as_debug(&self) -> &Debug; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `insert_before_node`, `insert_before`, `split_after`, and `split_before` are never used [INFO] [stdout] --> src/nodelinkedlist.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 120 | impl Node { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn insert_before_node(self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn insert_before(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn split_after(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn split_before(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `iter_walk_val`, `list_iter_back`, and `list_iter_val` are never used [INFO] [stdout] --> src/nodelinkedlist.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 192 | impl Node { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn iter_walk_val(&self) -> WalkingIterVal where T: Clone { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn list_iter_back(&self) -> Chain, WalkingIterBack> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn list_iter_val(&self) -> Chain, WalkingIterVal> where T: Clone { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `tail`, `head`, `list_distance`, and `list_find` are never used [INFO] [stdout] --> src/nodelinkedlist.rs:227:12 [INFO] [stdout] | [INFO] [stdout] 226 | impl Node { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 227 | pub fn tail(&self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn head(&self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn list_distance(&self, following: &Self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn list_find(&self, other: &Self) -> Option<(bool, usize)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `list_append_node`, `list_append`, `list_prepend_node`, and `list_prepend` are never used [INFO] [stdout] --> src/nodelinkedlist.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 250 | impl Node { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 251 | // list extension [INFO] [stdout] 252 | pub fn list_append_node(&self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn list_append(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn list_prepend_node(&self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn list_prepend(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_linkedlist_for_tests` is never used [INFO] [stdout] --> src/nodelinkedlist.rs:345:4 [INFO] [stdout] | [INFO] [stdout] 345 | fn make_linkedlist_for_tests() -> [Node; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[Node; 4]` does not permit being left uninitialized [INFO] [stdout] --> src/nodelinkedlist.rs:347:37 [INFO] [stdout] | [INFO] [stdout] 347 | let mut n: [Node; 4] = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: `nodelinkedlist::Node` must be non-null [INFO] [stdout] note: because `std::rc::Rc>>` must be non-null (in this struct field) [INFO] [stdout] --> src/nodelinkedlist.rs:40:21 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Node (StrongNode); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] = note: because `std::ptr::NonNull>>>` must be non-null [INFO] [stdout] = note: raw pointers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n4` [INFO] [stdout] --> src/nodelinkedlist.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | let n4 = Node::new(4); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_n4` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `locked` [INFO] [stdout] --> src/main.rs:184:24 [INFO] [stdout] | [INFO] [stdout] 184 | Expr::Num { n, locked } => Ok(n), [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:225:37 [INFO] [stdout] | [INFO] [stdout] 225 | Expr::Num { n, locked } => { [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:233:29 [INFO] [stdout] | [INFO] [stdout] 233 | Expr::Num { n, locked: true } => return Ok(()), [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:241:37 [INFO] [stdout] | [INFO] [stdout] 241 | Expr::Num { n, locked } => { [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:249:29 [INFO] [stdout] | [INFO] [stdout] 249 | Expr::Num { n, locked: true } => return Ok(()), [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num` [INFO] [stdout] --> src/main.rs:276:44 [INFO] [stdout] | [INFO] [stdout] 276 | paren_mut_adjacent_num(&n, p, |num, locked| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `locked` [INFO] [stdout] --> src/main.rs:292:32 [INFO] [stdout] | [INFO] [stdout] 292 | Expr::Num { n, locked } => n, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:302:65 [INFO] [stdout] | [INFO] [stdout] 302 | paren_mut_adjacent_num(&close_paren, Paren::Close, |n, locked| { [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] --> src/main.rs:305:63 [INFO] [stdout] | [INFO] [stdout] 305 | paren_mut_adjacent_num(&open_paren, Paren::Open, |n, locked| { [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] --> src/main.rs:385:25 [INFO] [stdout] | [INFO] [stdout] 385 | Expr::Num { n, locked } => true, [INFO] [stdout] | ^ help: try ignoring the field: `n: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `locked` [INFO] [stdout] --> src/main.rs:385:28 [INFO] [stdout] | [INFO] [stdout] 385 | Expr::Num { n, locked } => true, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_num`, `is_op`, and `is_paren` are never used [INFO] [stdout] --> src/main.rs:383:8 [INFO] [stdout] | [INFO] [stdout] 382 | impl Expr { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 383 | fn is_num(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | fn is_op(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 395 | fn is_paren(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_debug` is never used [INFO] [stdout] --> src/asdebug.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait AsDebug { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] 6 | fn as_debug(&self) -> &Debug; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `insert_before`, `split_after`, and `split_before` are never used [INFO] [stdout] --> src/nodelinkedlist.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 120 | impl Node { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn insert_before(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn split_after(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn split_before(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `list_append_node`, `list_append`, `list_prepend_node`, and `list_prepend` are never used [INFO] [stdout] --> src/nodelinkedlist.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 250 | impl Node { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 251 | // list extension [INFO] [stdout] 252 | pub fn list_append_node(&self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn list_append(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn list_prepend_node(&self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn list_prepend(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[Node; 4]` does not permit being left uninitialized [INFO] [stdout] --> src/nodelinkedlist.rs:347:37 [INFO] [stdout] | [INFO] [stdout] 347 | let mut n: [Node; 4] = mem::uninitialized(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: `nodelinkedlist::Node` must be non-null [INFO] [stdout] note: because `std::rc::Rc>>` must be non-null (in this struct field) [INFO] [stdout] --> src/nodelinkedlist.rs:40:21 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Node (StrongNode); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] = note: because `std::ptr::NonNull>>>` must be non-null [INFO] [stdout] = note: raw pointers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.87s [INFO] running `Command { std: "docker" "inspect" "c477d1cf71e45f9437e41307283eea7b2779fa9d4d68234d10114c05cfeb5dbb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c477d1cf71e45f9437e41307283eea7b2779fa9d4d68234d10114c05cfeb5dbb", kill_on_drop: false }` [INFO] [stdout] c477d1cf71e45f9437e41307283eea7b2779fa9d4d68234d10114c05cfeb5dbb