[INFO] cloning repository https://github.com/ddprrt/rust-workshop-notes-oct-23
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ddprrt/rust-workshop-notes-oct-23" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fddprrt%2Frust-workshop-notes-oct-23", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fddprrt%2Frust-workshop-notes-oct-23'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a1e2ffecb17d1a3a9fb7e5146d729ee858045779
[INFO] checking ddprrt/rust-workshop-notes-oct-23 against master#46424fb5054f211ec836c5c03159f92e46bb35ac for pr-139042
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fddprrt%2Frust-workshop-notes-oct-23" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ddprrt/rust-workshop-notes-oct-23 on toolchain 46424fb5054f211ec836c5c03159f92e46bb35ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ddprrt/rust-workshop-notes-oct-23
[INFO] finished tweaking git repo https://github.com/ddprrt/rust-workshop-notes-oct-23
[INFO] tweaked toml for git repo https://github.com/ddprrt/rust-workshop-notes-oct-23 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ddprrt/rust-workshop-notes-oct-23 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" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "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-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 170d80f3523e8b8fe7c081fdc19094722394647752763d8f419b524d9cb5e127
[INFO] running `Command { std: "docker" "start" "-a" "170d80f3523e8b8fe7c081fdc19094722394647752763d8f419b524d9cb5e127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "170d80f3523e8b8fe7c081fdc19094722394647752763d8f419b524d9cb5e127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "170d80f3523e8b8fe7c081fdc19094722394647752763d8f419b524d9cb5e127", kill_on_drop: false }`
[INFO] [stdout] 170d80f3523e8b8fe7c081fdc19094722394647752763d8f419b524d9cb5e127
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2654fc6c05b11243d119a1ea730939e0432c02d61caf808bb98e5df09d529e6f
[INFO] running `Command { std: "docker" "start" "-a" "2654fc6c05b11243d119a1ea730939e0432c02d61caf808bb98e5df09d529e6f", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking percent-encoding v2.3.0
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking form_urlencoded v1.2.0
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking url v2.4.1
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking ownership-example-usp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/main.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn write(options: Options) {
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let num = read_number_from_file("a_file.txt")?;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let num = match read_number_from_file("a_file.txt") {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:101:48
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Err(NumberFromFileError::ParseIntError(e)) => 0,
[INFO] [stdout]     |                                                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:102:42
[INFO] [stdout]     |
[INFO] [stdout] 102 |         Err(NumberFromFileError::IoError(e)) => 0,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item1`
[INFO] [stdout]    --> src/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let item1 = iter.next();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_item1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item2`
[INFO] [stdout]    --> src/main.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let item2 = iter.next();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/main.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 |     for (idx, i) in fib.iter_mut().into_iter().take(5).enumerate() {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/main.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |         .for_each(|(idx, el)| {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Replace` and `FromStart` are never constructed
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum FileMode {
[INFO] [stdout]    |      -------- variants in this enum
[INFO] [stdout] 9  |     Append,
[INFO] [stdout] 10 |     Replace,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     FromStart,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileMode` has a derived impl for the trait `Debug`, 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: field `0` is never read
[INFO] [stdout]   --> src/main.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct BufferLen(u64);
[INFO] [stdout]    |        --------- ^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `BufferLen` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode`, `file`, and `max_size` are never read
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Options {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 31 |     mode: FileMode,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 32 |     file: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     max_size: BufferLen,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Options` has derived impls for the traits `Default` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file` is never used
[INFO] [stdout]   --> src/main.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn read_username_from_file(file: &str) -> Result<String, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `breaks` is never used
[INFO] [stdout]   --> src/main.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn breaks() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]   --> src/main.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn write(options: Options) {
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/main.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let num = read_number_from_file("a_file.txt")?;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]   --> src/main.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let num = match read_number_from_file("a_file.txt") {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:101:48
[INFO] [stdout]     |
[INFO] [stdout] 101 |         Err(NumberFromFileError::ParseIntError(e)) => 0,
[INFO] [stdout]     |                                                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:102:42
[INFO] [stdout]     |
[INFO] [stdout] 102 |         Err(NumberFromFileError::IoError(e)) => 0,
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item1`
[INFO] [stdout]    --> src/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let item1 = iter.next();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_item1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item2`
[INFO] [stdout]    --> src/main.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let item2 = iter.next();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/main.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 116 |     for (idx, i) in fib.iter_mut().into_iter().take(5).enumerate() {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/main.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |         .for_each(|(idx, el)| {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Replace` and `FromStart` are never constructed
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum FileMode {
[INFO] [stdout]    |      -------- variants in this enum
[INFO] [stdout] 9  |     Append,
[INFO] [stdout] 10 |     Replace,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     FromStart,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileMode` has a derived impl for the trait `Debug`, 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: field `0` is never read
[INFO] [stdout]   --> src/main.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct BufferLen(u64);
[INFO] [stdout]    |        --------- ^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `BufferLen` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode`, `file`, and `max_size` are never read
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Options {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 31 |     mode: FileMode,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 32 |     file: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     max_size: BufferLen,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Options` has derived impls for the traits `Default` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file` is never used
[INFO] [stdout]   --> src/main.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn read_username_from_file(file: &str) -> Result<String, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `breaks` is never used
[INFO] [stdout]   --> src/main.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn breaks() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.14s
[INFO] running `Command { std: "docker" "inspect" "2654fc6c05b11243d119a1ea730939e0432c02d61caf808bb98e5df09d529e6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2654fc6c05b11243d119a1ea730939e0432c02d61caf808bb98e5df09d529e6f", kill_on_drop: false }`
[INFO] [stdout] 2654fc6c05b11243d119a1ea730939e0432c02d61caf808bb98e5df09d529e6f
