[INFO] cloning repository https://github.com/v-stickykeys/how_to_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/v-stickykeys/how_to_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv-stickykeys%2Fhow_to_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv-stickykeys%2Fhow_to_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 756cf5b677aebd1f7ebed3da94c92e0d2f82d685 [INFO] checking v-stickykeys/how_to_rust against master#d2eadb7a94ef8c9deb5137695df33cd1fc5aee92 for pr-137268 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv-stickykeys%2Fhow_to_rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/v-stickykeys/how_to_rust on toolchain d2eadb7a94ef8c9deb5137695df33cd1fc5aee92 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/v-stickykeys/how_to_rust [INFO] finished tweaking git repo https://github.com/v-stickykeys/how_to_rust [INFO] tweaked toml for git repo https://github.com/v-stickykeys/how_to_rust written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/v-stickykeys/how_to_rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0e9be5e60a34864bcf784a74d71aea7baf45bbd2b3d27f2ac8a5fd9a837fe63e [INFO] running `Command { std: "docker" "start" "-a" "0e9be5e60a34864bcf784a74d71aea7baf45bbd2b3d27f2ac8a5fd9a837fe63e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0e9be5e60a34864bcf784a74d71aea7baf45bbd2b3d27f2ac8a5fd9a837fe63e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0e9be5e60a34864bcf784a74d71aea7baf45bbd2b3d27f2ac8a5fd9a837fe63e", kill_on_drop: false }` [INFO] [stdout] 0e9be5e60a34864bcf784a74d71aea7baf45bbd2b3d27f2ac8a5fd9a837fe63e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 37ac30f13d1f2f8c3c6685add0751b9c88b21aa822cc9b7fb7c95591e3afed69 [INFO] running `Command { std: "docker" "start" "-a" "37ac30f13d1f2f8c3c6685add0751b9c88b21aa822cc9b7fb7c95591e3afed69", kill_on_drop: false }` [INFO] [stderr] Checking how_to_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `elem` is never read [INFO] [stdout] --> src/linked_lists/first.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct Node { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 9 | elem: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `More` is never constructed [INFO] [stdout] --> src/linked_lists/first.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 14 | enum Link { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] 15 | Empty, [INFO] [stdout] 16 | More(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Link` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used [INFO] [stdout] --> src/linked_lists/first.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl List { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 68 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn push(&mut self, elem: i32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `head`, `prepend`, `behead`, and `iter` are never used [INFO] [stdout] --> src/linked_lists/third.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl List { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 19 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn head(&self) -> Option<&G> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn prepend(&self, elem: G) -> List { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn behead(&self) -> List { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `head`, `prepend`, `behead`, and `iter` are never used [INFO] [stdout] --> src/linked_lists/third_thread_safe.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl ThreadSafeList { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 19 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn head(&self) -> Option<&G> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn prepend(&self, elem: G) -> ThreadSafeList { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn behead(&self) -> ThreadSafeList { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn iter(&self) -> ThreadSafeIter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/linked_lists/fourth.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl Node { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 23 | fn new(elem: T) -> Rc> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/linked_lists/fourth.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 32 | impl List { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 33 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn peek_front(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn peek_front_mut(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn peek_back(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn peek_back_mut(&mut self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn push_front(&mut self, elem: T) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn push_back(&mut self, elem: T) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn into_iter(self) -> IntoIter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `List` is never constructed [INFO] [stdout] --> src/linked_lists/fifth.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Link` is never used [INFO] [stdout] --> src/linked_lists/fifth.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type Link = Option>>; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/linked_lists/fifth.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used [INFO] [stdout] --> src/linked_lists/fifth.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl<'a, T> List { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> List { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn push(&mut self, elem: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/linked_lists/fifth.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Node { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 66 | pub fn new(elem: T) -> Node { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wrong_order` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn wrong_order() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `right_order` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn right_order() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pointer_offset` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn pointer_offset() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pointer_offset_copy` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn pointer_offset_copy() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mess` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn mess() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multi_allocation` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn multi_allocation() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slice_as_pointer` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn slice_as_pointer() -> [i32; 5] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> src/examples/oop.rs:2:30 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Index, Range, Add}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Add` [INFO] [stdout] --> src/examples/oop.rs:2:30 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Index, Range, Add}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arguments` [INFO] [stdout] --> src/examples/oop.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | action: |arguments: OptionalProgramArguments, options: OptionalProgramOptions| { println!("Command not implemented"); } [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `options` [INFO] [stdout] --> src/examples/oop.rs:33:59 [INFO] [stdout] | [INFO] [stdout] 33 | action: |arguments: OptionalProgramArguments, options: OptionalProgramOptions| { println!("Command not implemented"); } [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/examples/oop.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let mut child_link = Rc::new(RefCell::new(child.clone())); [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: value assigned to `first_command` is never read [INFO] [stdout] --> src/examples/oop.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | let mut first_command = ""; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `program` [INFO] [stdout] --> src/examples/oop.rs:68:22 [INFO] [stdout] | [INFO] [stdout] 68 | Some(program) => println!("todo"), // TODO: invoke the action eventually [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print` is never used [INFO] [stdout] --> src/examples/logger.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait Logger { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 4 | fn print(&mut self, value: &Arguments<'_>); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HELP` is never used [INFO] [stdout] --> src/examples/multi_line_string.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const HELP: &str = "\ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Program` is never constructed [INFO] [stdout] --> src/examples/oop.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Link` is never used [INFO] [stdout] --> src/examples/oop.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | type Link = Rc>; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionalProgramArguments` is never used [INFO] [stdout] --> src/examples/oop.rs:20:6 [INFO] [stdout] | [INFO] [stdout] 20 | type OptionalProgramArguments = Option>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OptionalProgramOptions` is never used [INFO] [stdout] --> src/examples/oop.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | type OptionalProgramOptions = Option>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `action`, `command`, `description`, and `parse` are never used [INFO] [stdout] --> src/examples/oop.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl Program { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 24 | fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn action(mut self, func: fn(OptionalProgramArguments, OptionalProgramOptions)) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn command(mut self, name: String) -> (Program, Program) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn description(mut self, description: String) -> Program { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn parse(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_root` is never used [INFO] [stdout] --> src/examples/oop.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn is_root(program: &Program) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_child` is never used [INFO] [stdout] --> src/examples/oop.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn get_child(program: &Program, name: String) -> Option<&Link> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProgramArgument` is never constructed [INFO] [stdout] --> src/examples/oop.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | struct ProgramArgument { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProgramOption` is never constructed [INFO] [stdout] --> src/examples/oop.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | struct ProgramOption { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_required` and `print` are never used [INFO] [stdout] --> src/examples/oop.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 104 | impl ProgramArgument { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 105 | fn is_required(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arguments` [INFO] [stdout] --> src/examples/oop.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | action: |arguments: OptionalProgramArguments, options: OptionalProgramOptions| { println!("Command not implemented"); } [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `options` [INFO] [stdout] --> src/examples/oop.rs:33:59 [INFO] [stdout] | [INFO] [stdout] 33 | action: |arguments: OptionalProgramArguments, options: OptionalProgramOptions| { println!("Command not implemented"); } [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/examples/oop.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let mut child_link = Rc::new(RefCell::new(child.clone())); [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: value assigned to `first_command` is never read [INFO] [stdout] --> src/examples/oop.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | let mut first_command = ""; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `program` [INFO] [stdout] --> src/examples/oop.rs:68:22 [INFO] [stdout] | [INFO] [stdout] 68 | Some(program) => println!("todo"), // TODO: invoke the action eventually [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/examples/oop.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | let mut program = Program::new(String::from("root")); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/examples/oop.rs:154:22 [INFO] [stdout] | [INFO] [stdout] 154 | let (parent, child) = parent.command(String::from("command")); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cmd` [INFO] [stdout] --> src/examples/oop.rs:162:18 [INFO] [stdout] | [INFO] [stdout] 162 | Some(cmd) => panic!("Found command that should be invalid"), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cmd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/examples/oop.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut parent = Program::new(String::from("root")); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> src/examples/oop.rs:170:23 [INFO] [stdout] | [INFO] [stdout] 170 | let (program, command) = program.command(String::from("command")); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/examples/oop.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | let mut program = Program::new(String::from("root")); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `version`, `arguments`, and `options` are never read [INFO] [stdout] --> src/examples/oop.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct Program { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 9 | name: String, [INFO] [stdout] 10 | version: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | arguments: OptionalProgramArguments, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 15 | options: OptionalProgramOptions, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `description` and `default` are never read [INFO] [stdout] --> src/examples/oop.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 90 | struct ProgramArgument { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 91 | name: String, [INFO] [stdout] 92 | description: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 93 | default: String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProgramArgument` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `flags`, `description`, `default`, and `argument` are never read [INFO] [stdout] --> src/examples/oop.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 97 | struct ProgramOption { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 98 | flags: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 99 | description: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 100 | default: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 101 | argument: ProgramArgument [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProgramOption` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print` is never used [INFO] [stdout] --> src/examples/oop.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 104 | impl ProgramArgument { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 111 | fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/linked_lists/third.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `iter` is never used [INFO] [stdout] --> src/linked_lists/third.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | fn iter() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> src/linked_lists/third_thread_safe.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl ThreadSafeList { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn iter(&self) -> ThreadSafeIter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `iter` is never used [INFO] [stdout] --> src/linked_lists/third_thread_safe.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | fn iter() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wrong_order` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn wrong_order() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pointer_offset` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn pointer_offset() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slice_as_pointer` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn slice_as_pointer() -> [i32; 5] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_slice_as_pointer` is never used [INFO] [stdout] --> src/linked_lists/chaos.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | fn test_slice_as_pointer() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't create a temp dir: No space left on device (os error 28) at path "/opt/rustwide/target/debug/deps/rmetaa3Glut" [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `how_to_rust` (lib test) due to 1 previous error; 8 warnings emitted [INFO] running `Command { std: "docker" "inspect" "37ac30f13d1f2f8c3c6685add0751b9c88b21aa822cc9b7fb7c95591e3afed69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37ac30f13d1f2f8c3c6685add0751b9c88b21aa822cc9b7fb7c95591e3afed69", kill_on_drop: false }` [INFO] [stdout] 37ac30f13d1f2f8c3c6685add0751b9c88b21aa822cc9b7fb7c95591e3afed69