[INFO] cloning repository https://github.com/VWWL/learn-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/VWWL/learn-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVWWL%2Flearn-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVWWL%2Flearn-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2df13e21957ce06af74655eda0b7eeec16327df9 [INFO] testing VWWL/learn-rust against master#a77da2d454e6caa227a85b16410b95f93495e7e0 for pr-91031 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVWWL%2Flearn-rust" "/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/VWWL/learn-rust on toolchain a77da2d454e6caa227a85b16410b95f93495e7e0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/VWWL/learn-rust [INFO] finished tweaking git repo https://github.com/VWWL/learn-rust [INFO] tweaked toml for git repo https://github.com/VWWL/learn-rust written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/VWWL/learn-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 904d3aa1bbfa92fbc164ff559f8dbcb49410f2e5fa0f085cfc8daf05aa2bfdc6 [INFO] running `Command { std: "docker" "start" "-a" "904d3aa1bbfa92fbc164ff559f8dbcb49410f2e5fa0f085cfc8daf05aa2bfdc6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "904d3aa1bbfa92fbc164ff559f8dbcb49410f2e5fa0f085cfc8daf05aa2bfdc6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "904d3aa1bbfa92fbc164ff559f8dbcb49410f2e5fa0f085cfc8daf05aa2bfdc6", kill_on_drop: false }` [INFO] [stdout] 904d3aa1bbfa92fbc164ff559f8dbcb49410f2e5fa0f085cfc8daf05aa2bfdc6 [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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 77a22e505bade1c844674001a99ebdecd45465b9e767b51a075d93c07df28b7e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "77a22e505bade1c844674001a99ebdecd45465b9e767b51a075d93c07df28b7e", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] Compiling libc v0.2.107 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.15 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling learn-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::dojo::gilded_rose::gilded_rose::GildedRose` [INFO] [stdout] --> src/dojo/gilded_rose/item.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::dojo::gilded_rose::gilded_rose::GildedRose; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/day1/demo5variable_readable.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | let x = 5; [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: value assigned to `y` is never read [INFO] [stdout] --> src/day1/demo5variable_readable.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | let mut y = 5; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `five_hundred` [INFO] [stdout] --> src/day1/demo6data_type.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let five_hundred = tup.0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_five_hundred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `six_point_four` [INFO] [stdout] --> src/day1/demo6data_type.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let six_point_four = tup.1; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_six_point_four` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `one` [INFO] [stdout] --> src/day1/demo6data_type.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let one = tup.2; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_one` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `months` [INFO] [stdout] --> src/day1/demo6data_type.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let months = ["January", "February", "March", "April", "May", "June", "July", [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_months` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `array` [INFO] [stdout] --> src/day1/demo6data_type.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let array: [i32; 5] = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/day2/ownership_1.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | let s = "hello world!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/day2/ownership_2.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let y = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/day2/clone.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let s2 = s1.clone(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/day2/ownership_4.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_copy(x: i32) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/day2/ownership_4.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | fn take_ownership(s: String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/day2/references_2.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let s2 = &s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/day6/recoverable_panic.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | Ok(file) => String::from("Ok"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/day6/recoverable_panic.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | Err(e) => String::from("Error") [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `THREE_HOURS_IN_SECONDS` [INFO] [stdout] --> src/day1/const_shadowing.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `seat_at_table` [INFO] [stdout] --> src/day5/restaurant/mod.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | fn seat_at_table() {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `server_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | fn server_order() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/day5/restaurant/mod.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cook_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | fn cook_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_incorrect_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | fn fix_incorrect_order() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_payment` [INFO] [stdout] --> src/day5/restaurant/mod.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | fn take_payment() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/item.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/sulfuras_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sell_in` [INFO] [stdout] --> src/dojo/gilded_rose/sulfuras_item.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | sell_in: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/aged_brie_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/backstage_pass_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.58s [INFO] running `Command { std: "docker" "inspect" "77a22e505bade1c844674001a99ebdecd45465b9e767b51a075d93c07df28b7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "77a22e505bade1c844674001a99ebdecd45465b9e767b51a075d93c07df28b7e", kill_on_drop: false }` [INFO] [stdout] 77a22e505bade1c844674001a99ebdecd45465b9e767b51a075d93c07df28b7e [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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2dbdb2e6aba28511069393edd8a84dedeb68d09ed0e8642345f9d49abdc41516 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "2dbdb2e6aba28511069393edd8a84dedeb68d09ed0e8642345f9d49abdc41516", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stdout] warning: unused import: `crate::dojo::gilded_rose::gilded_rose::GildedRose` [INFO] [stdout] --> src/dojo/gilded_rose/item.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::dojo::gilded_rose::gilded_rose::GildedRose; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/day1/demo5variable_readable.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | let x = 5; [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: value assigned to `y` is never read [INFO] [stdout] --> src/day1/demo5variable_readable.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | let mut y = 5; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `five_hundred` [INFO] [stdout] --> src/day1/demo6data_type.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let five_hundred = tup.0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_five_hundred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `six_point_four` [INFO] [stdout] --> src/day1/demo6data_type.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let six_point_four = tup.1; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_six_point_four` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `one` [INFO] [stdout] --> src/day1/demo6data_type.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let one = tup.2; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_one` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `months` [INFO] [stdout] --> src/day1/demo6data_type.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let months = ["January", "February", "March", "April", "May", "June", "July", [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_months` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `array` [INFO] [stdout] --> src/day1/demo6data_type.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let array: [i32; 5] = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/day2/ownership_1.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | let s = "hello world!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/day2/ownership_2.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let y = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/day2/clone.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let s2 = s1.clone(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/day2/ownership_4.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_copy(x: i32) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/day2/ownership_4.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | fn take_ownership(s: String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/day2/references_2.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let s2 = &s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/day6/recoverable_panic.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | Ok(file) => String::from("Ok"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/day6/recoverable_panic.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | Err(e) => String::from("Error") [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `THREE_HOURS_IN_SECONDS` [INFO] [stdout] --> src/day1/const_shadowing.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `seat_at_table` [INFO] [stdout] --> src/day5/restaurant/mod.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | fn seat_at_table() {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `server_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | fn server_order() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/day5/restaurant/mod.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cook_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | fn cook_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_incorrect_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | fn fix_incorrect_order() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_payment` [INFO] [stdout] --> src/day5/restaurant/mod.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | fn take_payment() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/item.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/sulfuras_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sell_in` [INFO] [stdout] --> src/dojo/gilded_rose/sulfuras_item.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | sell_in: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/aged_brie_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/backstage_pass_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling learn-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `learn_rust::day4::ip_address_kind::IpAddressKind` [INFO] [stdout] --> tests/day4.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use learn_rust::day4::ip_address_kind::IpAddressKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v4` [INFO] [stdout] --> tests/day4.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | let (v4, v6) = learn_use_enum_2(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v4` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v6` [INFO] [stdout] --> tests/day4.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | let (v4, v6) = learn_use_enum_2(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v6` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> tests/day6.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::dojo::gilded_rose::gilded_rose::GildedRose` [INFO] [stdout] --> src/dojo/gilded_rose/item.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::dojo::gilded_rose::gilded_rose::GildedRose; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/day2.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut s = String::from("Hello world!"); [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: unused import: `learn_rust::day4::ip_address_kind::IpAddressKind` [INFO] [stdout] --> tests/day4.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use learn_rust::day4::ip_address_kind::IpAddressKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> tests/day6.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/day1/demo5variable_readable.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | let x = 5; [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: value assigned to `y` is never read [INFO] [stdout] --> src/day1/demo5variable_readable.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | let mut y = 5; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `five_hundred` [INFO] [stdout] --> src/day1/demo6data_type.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | let five_hundred = tup.0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_five_hundred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `six_point_four` [INFO] [stdout] --> src/day1/demo6data_type.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let six_point_four = tup.1; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_six_point_four` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `one` [INFO] [stdout] --> src/day1/demo6data_type.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let one = tup.2; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_one` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `months` [INFO] [stdout] --> src/day1/demo6data_type.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let months = ["January", "February", "March", "April", "May", "June", "July", [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_months` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `array` [INFO] [stdout] --> src/day1/demo6data_type.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | let array: [i32; 5] = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/day2/ownership_1.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | let s = "hello world!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/day2/ownership_2.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let y = x; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/day2/clone.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let s2 = s1.clone(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/day2/ownership_4.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_copy(x: i32) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/day2/ownership_4.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | fn take_ownership(s: String) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/day2/references_2.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let s2 = &s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/day6/recoverable_panic.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | Ok(file) => String::from("Ok"), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/day6/recoverable_panic.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | Err(e) => String::from("Error") [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v4` [INFO] [stdout] --> tests/day4.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | let (v4, v6) = learn_use_enum_2(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v4` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v6` [INFO] [stdout] --> tests/day4.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | let (v4, v6) = learn_use_enum_2(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v6` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `THREE_HOURS_IN_SECONDS` [INFO] [stdout] --> src/day1/const_shadowing.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `seat_at_table` [INFO] [stdout] --> src/day5/restaurant/mod.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | fn seat_at_table() {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `server_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | fn server_order() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/day5/restaurant/mod.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cook_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | fn cook_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_incorrect_order` [INFO] [stdout] --> src/day5/restaurant/mod.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | fn fix_incorrect_order() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_payment` [INFO] [stdout] --> src/day5/restaurant/mod.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | fn take_payment() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/item.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/sulfuras_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sell_in` [INFO] [stdout] --> src/dojo/gilded_rose/sulfuras_item.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | sell_in: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/aged_brie_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `name` [INFO] [stdout] --> src/dojo/gilded_rose/backstage_pass_item.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/day2.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut s = String::from("Hello world!"); [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: variable does not need to be mutable [INFO] [stdout] --> tests/dojo/gilded_rose.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let mut item = Item::create_item(String::from("Common item"), 10, 2); [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] --> tests/dojo/gilded_rose.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut item = Item::create_item(String::from("Common item"), 10, 0); [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] --> tests/dojo/gilded_rose.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mut item = Item::create_item(String::from("Common item"), 0, 2); [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] --> tests/dojo/gilded_rose.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut item = Item::create_item(String::from("Common item"), 0, 0); [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] --> tests/dojo/gilded_rose.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut item = Item::create_item(String::from("Aged Brie"), 10, 2); [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] --> tests/dojo/gilded_rose.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut item = Item::create_item(String::from("Aged Brie"), 10, 0); [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] --> tests/dojo/gilded_rose.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let mut item = Item::create_item(String::from("Aged Brie"), 50, 2); [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] --> tests/dojo/gilded_rose.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let mut item = Item::create_item(String::from("Aged Brie"), 50, 0); [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] --> tests/dojo/gilded_rose.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let mut item = Item::create_item(String::from("Sulfuras"), 80, 0); [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] --> tests/dojo/gilded_rose.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut item = Item::create_item(String::from("Backstage pass"), 40, 12); [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] --> tests/dojo/gilded_rose.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut item = Item::create_item(String::from("Backstage pass"), 0, 12); [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] --> tests/dojo/gilded_rose.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | let mut item = Item::create_item(String::from("Backstage pass"), 0, 10); [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] --> tests/dojo/gilded_rose.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | let mut item = Item::create_item(String::from("Backstage pass"), 50, 10); [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] --> tests/dojo/gilded_rose.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | let mut item = Item::create_item(String::from("Backstage pass"), 0, 5); [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] --> tests/dojo/gilded_rose.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | let mut item = Item::create_item(String::from("Backstage pass"), 50, 0); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 7.55s [INFO] running `Command { std: "docker" "inspect" "2dbdb2e6aba28511069393edd8a84dedeb68d09ed0e8642345f9d49abdc41516", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2dbdb2e6aba28511069393edd8a84dedeb68d09ed0e8642345f9d49abdc41516", kill_on_drop: false }` [INFO] [stdout] 2dbdb2e6aba28511069393edd8a84dedeb68d09ed0e8642345f9d49abdc41516 [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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] bb521e0db908d4621f8fe05cbffa595745b63081a35dc80fe322e0b175baa4ac [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "bb521e0db908d4621f8fe05cbffa595745b63081a35dc80fe322e0b175baa4ac", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] warning: unused import: `crate::dojo::gilded_rose::gilded_rose::GildedRose` [INFO] [stderr] --> src/dojo/gilded_rose/item.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::dojo::gilded_rose::gilded_rose::GildedRose; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/day1/demo5variable_readable.rs:2:9 [INFO] [stderr] | [INFO] [stderr] 2 | let x = 5; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `y` is never read [INFO] [stderr] --> src/day1/demo5variable_readable.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | let mut y = 5; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `five_hundred` [INFO] [stderr] --> src/day1/demo6data_type.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | let five_hundred = tup.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_five_hundred` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `six_point_four` [INFO] [stderr] --> src/day1/demo6data_type.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let six_point_four = tup.1; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_six_point_four` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `one` [INFO] [stderr] --> src/day1/demo6data_type.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | let one = tup.2; [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_one` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `months` [INFO] [stderr] --> src/day1/demo6data_type.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | let months = ["January", "February", "March", "April", "May", "June", "July", [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_months` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `array` [INFO] [stderr] --> src/day1/demo6data_type.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | let array: [i32; 5] = [1, 2, 3, 4, 5]; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_array` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/day2/ownership_1.rs:3:13 [INFO] [stderr] | [INFO] [stderr] 3 | let s = "hello world!"; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/day2/ownership_2.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let y = x; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s2` [INFO] [stderr] --> src/day2/clone.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let s2 = s1.clone(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/day2/ownership_4.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | fn take_copy(x: i32) {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/day2/ownership_4.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | fn take_ownership(s: String) {} [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s2` [INFO] [stderr] --> src/day2/references_2.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let s2 = &s1; [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file` [INFO] [stderr] --> src/day6/recoverable_panic.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | Ok(file) => String::from("Ok"), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/day6/recoverable_panic.rs:7:13 [INFO] [stderr] | [INFO] [stderr] 7 | Err(e) => String::from("Error") [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `THREE_HOURS_IN_SECONDS` [INFO] [stderr] --> src/day1/const_shadowing.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `seat_at_table` [INFO] [stderr] --> src/day5/restaurant/mod.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | fn seat_at_table() {} [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `take_order` [INFO] [stderr] --> src/day5/restaurant/mod.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | fn take_order() {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `server_order` [INFO] [stderr] --> src/day5/restaurant/mod.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | fn server_order() {} [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `seasonal_fruit` [INFO] [stderr] --> src/day5/restaurant/mod.rs:18:17 [INFO] [stderr] | [INFO] [stderr] 18 | seasonal_fruit: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `cook_order` [INFO] [stderr] --> src/day5/restaurant/mod.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | fn cook_order() {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fix_incorrect_order` [INFO] [stderr] --> src/day5/restaurant/mod.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | fn fix_incorrect_order() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `take_payment` [INFO] [stderr] --> src/day5/restaurant/mod.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | fn take_payment() {} [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `name` [INFO] [stderr] --> src/dojo/gilded_rose/item.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | name: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `name` [INFO] [stderr] --> src/dojo/gilded_rose/sulfuras_item.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | name: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sell_in` [INFO] [stderr] --> src/dojo/gilded_rose/sulfuras_item.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | sell_in: i32, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `name` [INFO] [stderr] --> src/dojo/gilded_rose/aged_brie_item.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | name: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `name` [INFO] [stderr] --> src/dojo/gilded_rose/backstage_pass_item.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | name: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `learn-rust` (lib) generated 29 warnings [INFO] [stderr] warning: `learn-rust` (lib test) generated 29 warnings (29 duplicates) [INFO] [stderr] warning: unused import: `learn_rust::day4::ip_address_kind::IpAddressKind` [INFO] [stderr] --> tests/day4.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use learn_rust::day4::ip_address_kind::IpAddressKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Error` [INFO] [stderr] --> tests/day6.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v4` [INFO] [stderr] --> tests/day4.rs:15:10 [INFO] [stderr] | [INFO] [stderr] 15 | let (v4, v6) = learn_use_enum_2(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_v4` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v6` [INFO] [stderr] --> tests/day4.rs:15:14 [INFO] [stderr] | [INFO] [stderr] 15 | let (v4, v6) = learn_use_enum_2(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_v6` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/day2.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | let mut s = String::from("Hello world!"); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | let mut item = Item::create_item(String::from("Common item"), 10, 2); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | let mut item = Item::create_item(String::from("Common item"), 10, 0); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let mut item = Item::create_item(String::from("Common item"), 0, 2); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let mut item = Item::create_item(String::from("Common item"), 0, 0); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let mut item = Item::create_item(String::from("Aged Brie"), 10, 2); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let mut item = Item::create_item(String::from("Aged Brie"), 10, 0); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | let mut item = Item::create_item(String::from("Aged Brie"), 50, 2); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | let mut item = Item::create_item(String::from("Aged Brie"), 50, 0); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | let mut item = Item::create_item(String::from("Sulfuras"), 80, 0); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | let mut item = Item::create_item(String::from("Backstage pass"), 40, 12); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | let mut item = Item::create_item(String::from("Backstage pass"), 0, 12); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | let mut item = Item::create_item(String::from("Backstage pass"), 0, 10); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | let mut item = Item::create_item(String::from("Backstage pass"), 50, 10); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | let mut item = Item::create_item(String::from("Backstage pass"), 0, 5); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> tests/dojo/gilded_rose.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let mut item = Item::create_item(String::from("Backstage pass"), 50, 0); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: `learn-rust` (test "integration_test") generated 20 warnings [INFO] [stderr] warning: unused import: `std::io::Error` [INFO] [stderr] --> tests/day6.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `learn-rust` (test "day6") generated 1 warning [INFO] [stderr] warning: `learn-rust` (test "day4") generated 3 warnings (3 duplicates) [INFO] [stderr] warning: `learn-rust` (test "day2") generated 1 warning (1 duplicate) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/learn_rust-d03b279a73148072) [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/learn_rust-f81347f3fc02f215) [INFO] [stdout] [INFO] [stderr] Running tests/day1.rs (/opt/rustwide/target/debug/deps/day1-1d236fd2e2708594) [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test hello_world_should_return_hello_world ... ok [INFO] [stdout] test should_change_type_from_string_to_int ... ok [INFO] [stdout] test should_for_run_correctly ... ok [INFO] [stdout] test should_given_value_block_return_correctly ... ok [INFO] [stdout] test should_guess_number_3_return_false ... ok [INFO] [stdout] test should_guess_number_10_return_false ... ok [INFO] [stdout] test should_return_20_in_loop_return ... ok [INFO] [stdout] test should_return_3_in_double_loop ... ok [INFO] [stdout] test should_return_false_if_x_less_than_zero ... ok [INFO] [stdout] test should_return_true_if_x_equal_zero ... ok [INFO] [stdout] test should_variable_with_mut_tag_edit_its_value ... ok [INFO] [stdout] test should_while_loop_run_correctly ... ok [INFO] [stdout] test show_data_types ... ok [INFO] [stdout] test should_guess_number_5_return_true ... ok [INFO] [stdout] test should_shadowing_variable ... ok [INFO] [stdout] test should_guess_number_match_secret_number ... ok [INFO] [stdout] test should_return_true_if_x_more_than_zero ... ok [INFO] [stdout] test should_not_change_type_from_illegal_string_to_int - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/day1practise.rs (/opt/rustwide/target/debug/deps/day1practise-d150fb6b2abed6d6) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test should_0_fahrenheit_equal_neg_17_88_celsius ... ok [INFO] [stdout] test should_fibonacci_number_5_return_5 ... ok [INFO] [stdout] test should_1_celsius_equal_33_80_fahrenheit ... ok [INFO] [stdout] test should_1_fahrenheit_equal_neg_17_22_celsius ... ok [INFO] [stdout] test print_christmas_song ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/day2.rs (/opt/rustwide/target/debug/deps/day2-f3aad81e46459853) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test should_stack_variable_have_no_ownership ... ok [INFO] [stdout] test borrow_doesnt_move_ownership ... ok [INFO] [stdout] test should_import_type_variable_move_to_newest_variable ... ok [INFO] [stdout] test should_scope_end_to_create_mut_borrow ... ok [INFO] [stdout] test should_variable_in_function_block ... ok [INFO] [stdout] test should_return_word_end_index ... ok [INFO] [stdout] test should_move_ownership_up_and_on_methods ... ok [INFO] [stdout] test should_string_class_append_string_successfully ... ok [INFO] [stdout] test slice_role ... ok [INFO] [stdout] test should_method_take_only_ownership_of_heap_variable ... ok [INFO] [stdout] test should_clone_doesnt_move_ownership ... ok [INFO] [stdout] test borrow_cant_edit_value ... ok [INFO] [stdout] test should_mut_borrow_edit_value ... ok [INFO] [stdout] test deconstruction_is_allowed ... ok [INFO] [stderr] Running tests/day3.rs (/opt/rustwide/target/debug/deps/day3-b7337df68b93735f) [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stderr] Running tests/day4.rs (/opt/rustwide/target/debug/deps/day4-c75ae137889252a6) [INFO] [stdout] test should_init_struct_by_param_correctly ... ok [INFO] [stdout] test should_copy_struct_correctly ... ok [INFO] [stdout] test test_getter ... ok [INFO] [stdout] test should_edit_mut_user_correctly ... ok [INFO] [stdout] test should_init_tuple_struct_correctly ... ok [INFO] [stdout] test should_derive_debug_print_struct ... ok [INFO] [stdout] test should_init_struct_successfully ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test should_create_two_enum_with_arguments ... ok [INFO] [stdout] test should_create_two_kinds_of_structs ... ok [INFO] [stdout] test should_create_two_option ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/day5.rs (/opt/rustwide/target/debug/deps/day5-00ea441dbb0503f0) [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test is_not_a_quarter ... ok [INFO] [stdout] test should_get_a_map_from_two_vector ... ok [INFO] [stdout] test should_calculate_letter_numbers ... ok [INFO] [stdout] test should_match_denomination_of_any_state ... ok [INFO] [stdout] test should_match_denomination_of_nickel ... ok [INFO] [stdout] test should_match_denomination_of_penny ... ok [INFO] [stdout] test should_match_denomination_of_quarter ... ok [INFO] [stdout] test should_none_plus_one_return_none ... ok [INFO] [stdout] test should_get_element_in_vector ... ok [INFO] [stdout] test should_match_denomination_of_dime ... ok [INFO] [stdout] test is_a_quarter ... ok [INFO] [stdout] test should_init_vector_correctly ... ok [INFO] [stdout] test should_get_a_map_with_blue_10_yellow_50 ... ok [INFO] [stdout] test should_add_to_wait_list_twice ... ok [INFO] [stdout] test should_plus_one_in_option ... ok [INFO] [stdout] test should_set_value_if_not_exist ... ok [INFO] [stdout] test should_get_toast_correctly ... ok [INFO] [stdout] test should_for_all_element_in_vector ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/day6.rs (/opt/rustwide/target/debug/deps/day6-9d206629e874baa6) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test should_something_can_fly_which_arg_is_trait_bound ... ok [INFO] [stdout] test should_recoverable_panic_be_caught ... ok [INFO] [stdout] test should_show_biggest_in_pair ... ok [INFO] [stdout] test bird_with_big_wing_can_fly ... ok [INFO] [stdout] test find_longest ... ok [INFO] [stdout] test should_create_fly_things_with_wing ... ok [INFO] [stdout] test should_get_max_in_char ... ok [INFO] [stdout] test should_get_max_in_int ... ok [INFO] [stdout] test should_something_can_fly ... ok [INFO] [stdout] test should_get_max_in_double ... ok [INFO] [stdout] test should_panic_directly - should panic ... ok [INFO] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-05eac869a8cbab7d) [INFO] [stdout] test unreachable_method - should panic ... ok [INFO] [stdout] test unimplemented_method - should panic ... ok [INFO] [stdout] test should_panic_directly_with_question_mark - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 110 tests [INFO] [stdout] test day1::hello_world_should_return_hello_world ... ok [INFO] [stdout] test day1::should_change_type_from_string_to_int ... ok [INFO] [stdout] test day1::should_guess_number_3_return_false ... ok [INFO] [stdout] test day1::should_return_20_in_loop_return ... ok [INFO] [stdout] test day1::should_return_3_in_double_loop ... ok [INFO] [stdout] test day1::should_return_false_if_x_less_than_zero ... ok [INFO] [stdout] test day1::should_while_loop_run_correctly ... ok [INFO] [stdout] test day1::show_data_types ... ok [INFO] [stdout] test day1::should_guess_number_10_return_false ... ok [INFO] [stdout] test day1::should_for_run_correctly ... ok [INFO] [stdout] test day1practise::print_christmas_song ... ok [INFO] [stdout] test day1practise::should_0_fahrenheit_equal_neg_17_88_celsius ... ok [INFO] [stdout] test day1::should_shadowing_variable ... ok [INFO] [stdout] test day2::borrow_cant_edit_value ... ok [INFO] [stdout] test day1practise::should_1_celsius_equal_33_80_fahrenheit ... ok [INFO] [stdout] test day2::borrow_doesnt_move_ownership ... ok [INFO] [stdout] test day1::should_variable_with_mut_tag_edit_its_value ... ok [INFO] [stdout] test day1::should_guess_number_5_return_true ... ok [INFO] [stdout] test day1practise::should_fibonacci_number_5_return_5 ... ok [INFO] [stdout] test day1::should_return_true_if_x_equal_zero ... ok [INFO] [stdout] test day2::should_import_type_variable_move_to_newest_variable ... ok [INFO] [stdout] test day1::should_return_true_if_x_more_than_zero ... ok [INFO] [stdout] test day2::deconstruction_is_allowed ... ok [INFO] [stdout] test day1::should_given_value_block_return_correctly ... ok [INFO] [stdout] test day1practise::should_1_fahrenheit_equal_neg_17_22_celsius ... ok [INFO] [stdout] test day2::should_clone_doesnt_move_ownership ... ok [INFO] [stdout] test day2::should_string_class_append_string_successfully ... ok [INFO] [stdout] test day2::should_variable_in_function_block ... ok [INFO] [stdout] test day2::should_move_ownership_up_and_on_methods ... ok [INFO] [stdout] test day3::should_copy_struct_correctly ... ok [INFO] [stdout] test day2::should_method_take_only_ownership_of_heap_variable ... ok [INFO] [stdout] test day3::should_derive_debug_print_struct ... ok [INFO] [stdout] test day2::should_stack_variable_have_no_ownership ... ok [INFO] [stdout] test day2::should_mut_borrow_edit_value ... ok [INFO] [stdout] test day2::slice_role ... ok [INFO] [stdout] test day2::should_scope_end_to_create_mut_borrow ... ok [INFO] [stdout] test day3::should_init_struct_by_param_correctly ... ok [INFO] [stdout] test day3::should_init_struct_successfully ... ok [INFO] [stdout] test day3::test_getter ... ok [INFO] [stdout] test day4::should_create_two_enum_with_arguments ... ok [INFO] [stdout] test day4::should_create_two_kinds_of_structs ... ok [INFO] [stdout] test day4::should_create_two_option ... ok [INFO] [stdout] test day3::should_init_tuple_struct_correctly ... ok [INFO] [stdout] test day3::should_edit_mut_user_correctly ... ok [INFO] [stdout] test day2::should_return_word_end_index ... ok [INFO] [stdout] test day1::should_guess_number_match_secret_number ... ok [INFO] [stdout] test day5::is_not_a_quarter ... ok [INFO] [stdout] test day5::should_get_a_map_from_two_vector ... ok [INFO] [stdout] test day5::should_get_a_map_with_blue_10_yellow_50 ... ok [INFO] [stdout] test day5::is_a_quarter ... ok [INFO] [stdout] test day5::should_none_plus_one_return_none ... ok [INFO] [stdout] test day5::should_add_to_wait_list_twice ... ok [INFO] [stdout] test day5::should_match_denomination_of_nickel ... ok [INFO] [stdout] test day5::should_match_denomination_of_any_state ... ok [INFO] [stdout] test day5::should_for_all_element_in_vector ... ok [INFO] [stdout] test day5::should_calculate_letter_numbers ... ok [INFO] [stdout] test day5::should_get_element_in_vector ... ok [INFO] [stdout] test day5::should_match_denomination_of_dime ... ok [INFO] [stdout] test day5::should_get_toast_correctly ... ok [INFO] [stdout] test day5::should_match_denomination_of_penny ... ok [INFO] [stdout] test day5::should_init_vector_correctly ... ok [INFO] [stdout] test day5::should_match_denomination_of_quarter ... ok [INFO] [stdout] test day5::should_plus_one_in_option ... ok [INFO] [stdout] test day6::should_get_max_in_char ... ok [INFO] [stdout] test day6::should_get_max_in_double ... ok [INFO] [stdout] test day6::should_recoverable_panic_be_caught ... ok [INFO] [stdout] test day6::should_show_biggest_in_pair ... ok [INFO] [stdout] test day6::should_something_can_fly_which_arg_is_trait_bound ... ok [INFO] [stdout] test day6::bird_with_big_wing_can_fly ... ok [INFO] [stdout] test day6::should_create_fly_things_with_wing ... ok [INFO] [stdout] test day6::should_something_can_fly ... ok [INFO] [stdout] test day5::should_set_value_if_not_exist ... ok [INFO] [stdout] test dojo::fizz_buzz::should_3_return_fizz ... ok [INFO] [stdout] test day6::should_get_max_in_int ... ok [INFO] [stdout] test day6::find_longest ... ok [INFO] [stdout] test dojo::fizz_buzz::should_51_return_fizz_buzz ... ok [INFO] [stdout] test dojo::fizz_buzz::should_15_return_fizz_buzz ... ok [INFO] [stdout] test dojo::fizz_buzz::should_13_return_fizz ... ok [INFO] [stdout] test dojo::gilded_rose::should_aged_brie_pass_one_day_quality_plus_two_less_50 ... ok [INFO] [stdout] test dojo::gilded_rose::should_aged_brie_pass_one_day_quality_plus_two ... ok [INFO] [stdout] test dojo::gilded_rose::should_backstage_pass_item_become_0_out_of_date ... ok [INFO] [stdout] test dojo::fizz_buzz::should_53_return_fizz_buzz ... ok [INFO] [stdout] test design_pattern::strategy_pattern::absolute_of_negative_number ... ok [INFO] [stdout] test dojo::fizz_buzz::should_5_return_buzz ... ok [INFO] [stdout] test dojo::gilded_rose::should_backstage_pass_item_down_1 ... ok [INFO] [stdout] test dojo::gilded_rose::should_aged_brie_pass_one_day_quality_plus_one ... ok [INFO] [stdout] test dojo::fizz_buzz::should_1_return_1 ... ok [INFO] [stdout] test dojo::gilded_rose::should_aged_brie_pass_one_day_quality_plus_one_less_50 ... ok [INFO] [stdout] test dojo::gilded_rose::should_backstage_pass_item_plus_3_in_five_days ... ok [INFO] [stdout] test dojo::gilded_rose::should_sulfras_item_forever ... ok [INFO] [stdout] test dojo::gilded_rose::should_backstage_pass_item_down_1_more_zero ... ok [INFO] [stdout] test dojo::gilded_rose::should_backstage_pass_item_plus_2_in_ten_days_less_50 ... ok [INFO] [stdout] test dojo::gilded_rose::should_backstage_pass_item_plus_2_in_ten_days ... ok [INFO] [stdout] test dojo::unit_converter::should_10_mm_return_1_cm ... ok [INFO] [stdout] test dojo::gilded_rose::should_common_project_pass_one_day_quality_down_one_not_down_zero ... ok [INFO] [stdout] test dojo::unit_converter::should_1000_mm_return_1_m ... ok [INFO] [stdout] test dojo::unit_converter::should_1_m_return_1000_mm ... ok [INFO] [stdout] test dojo::unit_converter::should_1_mm_return_1_mm ... ok [INFO] [stdout] test dojo::gilded_rose::should_common_project_pass_one_day_quality_down_two ... ok [INFO] [stdout] test dojo::gilded_rose::should_common_project_pass_one_day_quality_down_one ... ok [INFO] [stdout] test dojo::gilded_rose::should_common_project_pass_one_day_quality_down_two_not_down_zero ... ok [INFO] [stdout] test dojo::unit_converter::should_1_cm_return_10_mm ... ok [INFO] [stdout] test dojo::fizz_buzz::should_30_return_fizz_buzz ... ok [INFO] [stdout] test dojo::fizz_buzz::should_52_return_buzz ... ok [INFO] [stdout] test design_pattern::strategy_pattern::absolute_of_positive_number ... ok [INFO] [stdout] test day1::should_not_change_type_from_illegal_string_to_int - should panic ... ok [INFO] [stdout] test day6::should_panic_directly - should panic ... ok [INFO] [stdout] test day6::unimplemented_method - should panic ... ok [INFO] [stdout] test day6::unreachable_method - should panic ... ok [INFO] [stdout] test day6::should_panic_directly_with_question_mark - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 110 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stderr] Doc-tests learn-rust [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "bb521e0db908d4621f8fe05cbffa595745b63081a35dc80fe322e0b175baa4ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb521e0db908d4621f8fe05cbffa595745b63081a35dc80fe322e0b175baa4ac", kill_on_drop: false }` [INFO] [stdout] bb521e0db908d4621f8fe05cbffa595745b63081a35dc80fe322e0b175baa4ac