[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] testing mvojacek/rust-expr-calc against master#404c8471aba60c2d837fa728e7c729a0f52d5830 for pr-87041-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvojacek%2Frust-expr-calc" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mvojacek/rust-expr-calc on toolchain 404c8471aba60c2d837fa728e7c729a0f52d5830 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+404c8471aba60c2d837fa728e7c729a0f52d5830" "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-2/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: "/workspace/cargo-home/bin/cargo" "+404c8471aba60c2d837fa728e7c729a0f52d5830" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:a429bb59b7a3b4e7270a4b4c243bb115fc561d8f62ec34ef63a0a36cabf65dfd" "/opt/rustwide/cargo-home/bin/cargo" "+404c8471aba60c2d837fa728e7c729a0f52d5830" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c6806ccb2f0dc40b4c8e10aa5daa176af97ab51040acf48ba4feb98aac272cb8 [INFO] running `Command { std: "docker" "start" "-a" "c6806ccb2f0dc40b4c8e10aa5daa176af97ab51040acf48ba4feb98aac272cb8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c6806ccb2f0dc40b4c8e10aa5daa176af97ab51040acf48ba4feb98aac272cb8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6806ccb2f0dc40b4c8e10aa5daa176af97ab51040acf48ba4feb98aac272cb8", kill_on_drop: false }` [INFO] [stdout] c6806ccb2f0dc40b4c8e10aa5daa176af97ab51040acf48ba4feb98aac272cb8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "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:a429bb59b7a3b4e7270a4b4c243bb115fc561d8f62ec34ef63a0a36cabf65dfd" "/opt/rustwide/cargo-home/bin/cargo" "+404c8471aba60c2d837fa728e7c729a0f52d5830" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 39bf1650f3d38928261a8c230cea4229bbd69f1101b59f25adb8fa20685eefbf [INFO] running `Command { std: "docker" "start" "-a" "39bf1650f3d38928261a8c230cea4229bbd69f1101b59f25adb8fa20685eefbf", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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] Compiling either v1.5.2 [INFO] [stderr] Compiling 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] Compiling num v0.2.0 [INFO] [stderr] Compiling rustplay v0.1.0 (/opt/rustwide/workdir) [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] | ^^^^^ help: use `dyn`: `dyn Debug` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] [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] | ^^^^^ help: use `dyn`: `dyn Debug` [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] [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] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn fmt::Display + Send` [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] [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn fmt::Display + Send` [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] [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: 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: 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: `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: `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: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: associated function is never used: `insert_before_node` [INFO] [stdout] --> src/nodelinkedlist.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn insert_before_node(self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `insert_before` [INFO] [stdout] --> src/nodelinkedlist.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn insert_before(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `split_after` [INFO] [stdout] --> src/nodelinkedlist.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn split_after(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `split_before` [INFO] [stdout] --> src/nodelinkedlist.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn split_before(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `iter_walk_val` [INFO] [stdout] --> src/nodelinkedlist.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn iter_walk_val(&self) -> WalkingIterVal where T: Clone { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_iter_back` [INFO] [stdout] --> src/nodelinkedlist.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn list_iter_back(&self) -> Chain, WalkingIterBack> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_iter_val` [INFO] [stdout] --> src/nodelinkedlist.rs:221:12 [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: associated function is never used: `tail` [INFO] [stdout] --> src/nodelinkedlist.rs:227:12 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn tail(&self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `head` [INFO] [stdout] --> src/nodelinkedlist.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 231 | pub fn head(&self) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_distance` [INFO] [stdout] --> src/nodelinkedlist.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn list_distance(&self, following: &Self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_find` [INFO] [stdout] --> src/nodelinkedlist.rs:244:12 [INFO] [stdout] | [INFO] [stdout] 244 | pub fn list_find(&self, other: &Self) -> Option<(bool, usize)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_append_node` [INFO] [stdout] --> src/nodelinkedlist.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 252 | pub fn list_append_node(&self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_append` [INFO] [stdout] --> src/nodelinkedlist.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 256 | pub fn list_append(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_prepend_node` [INFO] [stdout] --> src/nodelinkedlist.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 260 | pub fn list_prepend_node(&self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_prepend` [INFO] [stdout] --> src/nodelinkedlist.rs:264:12 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn list_prepend(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `make_linkedlist_for_tests` [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: function is never used: `calculate10` [INFO] [stdout] --> src/main.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn calculate10(expr: &String) -> Result, CalcErr)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_num` [INFO] [stdout] --> src/main.rs:383:8 [INFO] [stdout] | [INFO] [stdout] 383 | fn is_num(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_op` [INFO] [stdout] --> src/main.rs:389:8 [INFO] [stdout] | [INFO] [stdout] 389 | fn is_op(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_paren` [INFO] [stdout] --> src/main.rs:395:8 [INFO] [stdout] | [INFO] [stdout] 395 | fn is_paren(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 23s [INFO] running `Command { std: "docker" "inspect" "39bf1650f3d38928261a8c230cea4229bbd69f1101b59f25adb8fa20685eefbf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "39bf1650f3d38928261a8c230cea4229bbd69f1101b59f25adb8fa20685eefbf", kill_on_drop: false }` [INFO] [stdout] 39bf1650f3d38928261a8c230cea4229bbd69f1101b59f25adb8fa20685eefbf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "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:a429bb59b7a3b4e7270a4b4c243bb115fc561d8f62ec34ef63a0a36cabf65dfd" "/opt/rustwide/cargo-home/bin/cargo" "+404c8471aba60c2d837fa728e7c729a0f52d5830" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3ffba07381296517c612ea1f63fc77e953bfad40e5848c2e08ca08ea04c0492 [INFO] running `Command { std: "docker" "start" "-a" "d3ffba07381296517c612ea1f63fc77e953bfad40e5848c2e08ca08ea04c0492", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling rustplay v0.1.0 (/opt/rustwide/workdir) [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] | ^^^^^ help: use `dyn`: `dyn Debug` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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] [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] | ^^^^^ help: use `dyn`: `dyn Debug` [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] [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] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [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] [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn fmt::Display + Send` [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] [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] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn fmt::Display + Send` [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] [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: 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: 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: `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: `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: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: 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] [INFO] [stdout] warning: associated function is never used: `insert_before` [INFO] [stdout] --> src/nodelinkedlist.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn insert_before(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `split_after` [INFO] [stdout] --> src/nodelinkedlist.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn split_after(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `split_before` [INFO] [stdout] --> src/nodelinkedlist.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn split_before(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_append_node` [INFO] [stdout] --> src/nodelinkedlist.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 252 | pub fn list_append_node(&self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_append` [INFO] [stdout] --> src/nodelinkedlist.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 256 | pub fn list_append(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_prepend_node` [INFO] [stdout] --> src/nodelinkedlist.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 260 | pub fn list_prepend_node(&self, node: &Self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `list_prepend` [INFO] [stdout] --> src/nodelinkedlist.rs:264:12 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn list_prepend(&self, val: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_num` [INFO] [stdout] --> src/main.rs:383:8 [INFO] [stdout] | [INFO] [stdout] 383 | fn is_num(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_op` [INFO] [stdout] --> src/main.rs:389:8 [INFO] [stdout] | [INFO] [stdout] 389 | fn is_op(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_paren` [INFO] [stdout] --> src/main.rs:395:8 [INFO] [stdout] | [INFO] [stdout] 395 | fn is_paren(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.03s [INFO] running `Command { std: "docker" "inspect" "d3ffba07381296517c612ea1f63fc77e953bfad40e5848c2e08ca08ea04c0492", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3ffba07381296517c612ea1f63fc77e953bfad40e5848c2e08ca08ea04c0492", kill_on_drop: false }` [INFO] [stdout] d3ffba07381296517c612ea1f63fc77e953bfad40e5848c2e08ca08ea04c0492 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "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:a429bb59b7a3b4e7270a4b4c243bb115fc561d8f62ec34ef63a0a36cabf65dfd" "/opt/rustwide/cargo-home/bin/cargo" "+404c8471aba60c2d837fa728e7c729a0f52d5830" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 73dbe3a806e30aae9caba1b106597f146da967ee3e350f10371e80b44420c093 [INFO] running `Command { std: "docker" "start" "-a" "73dbe3a806e30aae9caba1b106597f146da967ee3e350f10371e80b44420c093", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/asdebug.rs:6:28 [INFO] [stderr] | [INFO] [stderr] 6 | fn as_debug(&self) -> &Debug; [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Debug` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/asdebug.rs:16:28 [INFO] [stderr] | [INFO] [stderr] 16 | fn as_debug(&self) -> &Debug { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Debug` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nodelinkedlist.rs:327:48 [INFO] [stderr] | [INFO] [stderr] 327 | let it = &mut iter.into_iter() as &mut Iterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Iterator` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:99:15 [INFO] [stderr] | [INFO] [stderr] 99 | OpErr(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn fmt::Display + Send` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:210:40 [INFO] [stderr] | [INFO] [stderr] 210 | where F: Fn(N, N) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn fmt::Display + Send` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: crate-level attribute should be in the root module [INFO] [stderr] --> src/asdebug.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #![feature(specialization, core_intrinsics)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_attributes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stderr] --> src/nodelinkedlist.rs:347:42 [INFO] [stderr] | [INFO] [stderr] 347 | let mut n: [Node; 4] = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `locked` [INFO] [stderr] --> src/main.rs:184:24 [INFO] [stderr] | [INFO] [stderr] 184 | Expr::Num { n, locked } => Ok(n), [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:225:37 [INFO] [stderr] | [INFO] [stderr] 225 | Expr::Num { n, locked } => { [INFO] [stderr] | ^ help: try ignoring the field: `n: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:233:29 [INFO] [stderr] | [INFO] [stderr] 233 | Expr::Num { n, locked: true } => return Ok(()), [INFO] [stderr] | ^ help: try ignoring the field: `n: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:241:37 [INFO] [stderr] | [INFO] [stderr] 241 | Expr::Num { n, locked } => { [INFO] [stderr] | ^ help: try ignoring the field: `n: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:249:29 [INFO] [stderr] | [INFO] [stderr] 249 | Expr::Num { n, locked: true } => return Ok(()), [INFO] [stderr] | ^ help: try ignoring the field: `n: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `num` [INFO] [stderr] --> src/main.rs:276:44 [INFO] [stderr] | [INFO] [stderr] 276 | paren_mut_adjacent_num(&n, p, |num, locked| { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_num` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:302:65 [INFO] [stderr] | [INFO] [stderr] 302 | paren_mut_adjacent_num(&close_paren, Paren::Close, |n, locked| { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:305:63 [INFO] [stderr] | [INFO] [stderr] 305 | paren_mut_adjacent_num(&open_paren, Paren::Open, |n, locked| { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `locked` [INFO] [stderr] --> src/main.rs:292:32 [INFO] [stderr] | [INFO] [stderr] 292 | Expr::Num { n, locked } => n, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/main.rs:385:25 [INFO] [stderr] | [INFO] [stderr] 385 | Expr::Num { n, locked } => true, [INFO] [stderr] | ^ help: try ignoring the field: `n: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `locked` [INFO] [stderr] --> src/main.rs:385:28 [INFO] [stderr] | [INFO] [stderr] 385 | Expr::Num { n, locked } => true, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `locked: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n4` [INFO] [stderr] --> src/nodelinkedlist.rs:443:9 [INFO] [stderr] | [INFO] [stderr] 443 | let n4 = Node::new(4); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_n4` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `insert_before` [INFO] [stderr] --> src/nodelinkedlist.rs:146:12 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn insert_before(&self, val: T) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `split_after` [INFO] [stderr] --> src/nodelinkedlist.rs:166:12 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn split_after(&self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `split_before` [INFO] [stderr] --> src/nodelinkedlist.rs:173:12 [INFO] [stderr] | [INFO] [stderr] 173 | pub fn split_before(&self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `list_append_node` [INFO] [stderr] --> src/nodelinkedlist.rs:252:12 [INFO] [stderr] | [INFO] [stderr] 252 | pub fn list_append_node(&self, node: &Self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `list_append` [INFO] [stderr] --> src/nodelinkedlist.rs:256:12 [INFO] [stderr] | [INFO] [stderr] 256 | pub fn list_append(&self, val: T) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `list_prepend_node` [INFO] [stderr] --> src/nodelinkedlist.rs:260:12 [INFO] [stderr] | [INFO] [stderr] 260 | pub fn list_prepend_node(&self, node: &Self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `list_prepend` [INFO] [stderr] --> src/nodelinkedlist.rs:264:12 [INFO] [stderr] | [INFO] [stderr] 264 | pub fn list_prepend(&self, val: T) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `is_num` [INFO] [stderr] --> src/main.rs:383:8 [INFO] [stderr] | [INFO] [stderr] 383 | fn is_num(&self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `is_op` [INFO] [stderr] --> src/main.rs:389:8 [INFO] [stderr] | [INFO] [stderr] 389 | fn is_op(&self) -> bool { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `is_paren` [INFO] [stderr] --> src/main.rs:395:8 [INFO] [stderr] | [INFO] [stderr] 395 | fn is_paren(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rustplay` (bin "rustplay" test) generated 29 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rustplay-105ceafae3440b15) [INFO] [stdout] running 15 tests [INFO] [stdout] test nodelinkedlist::test_cut ... ok [INFO] [stdout] test nodelinkedlist::test_equal ... ok [INFO] [stdout] test nodelinkedlist::test_find_distance ... ok [INFO] [stdout] test nodelinkedlist::test_head_tail ... ok [INFO] [stdout] test nodelinkedlist::test_insert_after ... ok [INFO] [stdout] test nodelinkedlist::test_insert_before ... ok [INFO] [stdout] test nodelinkedlist::test_link ... ok [INFO] [stdout] test splitkeep::test::split_with_delimiter ... ok [INFO] [stdout] test nodelinkedlist::test_list_iter_val ... ok [INFO] [stdout] test splitkeep::test::split_with_delimiter_allows_consecutive_delimiters ... ok [INFO] [stdout] test test_calc_precedence ... ok [INFO] [stdout] test test_calc_parens_lock ... ok [INFO] [stdout] test test_calc_div_trunc ... ok [INFO] [stdout] test test_calc_parens ... ok [INFO] [stdout] test test_calc_parens_nested ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "73dbe3a806e30aae9caba1b106597f146da967ee3e350f10371e80b44420c093", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73dbe3a806e30aae9caba1b106597f146da967ee3e350f10371e80b44420c093", kill_on_drop: false }` [INFO] [stdout] 73dbe3a806e30aae9caba1b106597f146da967ee3e350f10371e80b44420c093