[INFO] cloning repository https://github.com/teddy-otieno/Download-Manager [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/teddy-otieno/Download-Manager" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteddy-otieno%2FDownload-Manager", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteddy-otieno%2FDownload-Manager'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fa5a2ceb35f0d6c2fef6596054f22b40ccad502a [INFO] testing teddy-otieno/Download-Manager against try#0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteddy-otieno%2FDownload-Manager" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/teddy-otieno/Download-Manager [INFO] finished tweaking git repo https://github.com/teddy-otieno/Download-Manager [INFO] tweaked toml for git repo https://github.com/teddy-otieno/Download-Manager written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/teddy-otieno/Download-Manager on toolchain 0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/teddy-otieno/Download-Manager 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" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 94d40e0539068de3f8e1b3fa2dab69691857376488c6c17dcc0d9bd3df9c196a [INFO] running `Command { std: "docker" "start" "-a" "94d40e0539068de3f8e1b3fa2dab69691857376488c6c17dcc0d9bd3df9c196a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "94d40e0539068de3f8e1b3fa2dab69691857376488c6c17dcc0d9bd3df9c196a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "94d40e0539068de3f8e1b3fa2dab69691857376488c6c17dcc0d9bd3df9c196a", kill_on_drop: false }` [INFO] [stdout] 94d40e0539068de3f8e1b3fa2dab69691857376488c6c17dcc0d9bd3df9c196a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ae1475797c29d76ce254596c7750803e5ce4d924e3de745a88123e3537352d5d [INFO] running `Command { std: "docker" "start" "-a" "ae1475797c29d76ce254596c7750803e5ce4d924e3de745a88123e3537352d5d", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling time v0.1.42 [INFO] [stderr] Compiling num_cpus v1.10.1 [INFO] [stderr] Compiling threadpool v1.7.1 [INFO] [stderr] Compiling chrono v0.4.9 [INFO] [stderr] Compiling download_manager v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Rc` [INFO] [stdout] --> src/scheduler.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::rc::{Rc, Weak}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::i32` [INFO] [stdout] --> src/scheduler.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::i32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TryFrom` [INFO] [stdout] --> src/scheduler.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Builder` [INFO] [stdout] --> src/scheduler.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | use threadpool::{ThreadPool, Builder}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::download_handler::DownloadHandle` [INFO] [stdout] --> src/scheduler.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::download_handler::DownloadHandle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/download_handler.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufReader, SeekFrom}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/download_handler.rs:143:11 [INFO] [stdout] | [INFO] [stdout] 143 | if(entry_count == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 143 - if(entry_count == 0) { [INFO] [stdout] 143 + if entry_count == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/download_handler.rs:151:49 [INFO] [stdout] | [INFO] [stdout] 151 | let new_table_entries_buffer: Vec = (vec![0; entry_count as usize]); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 151 - let new_table_entries_buffer: Vec = (vec![0; entry_count as usize]); [INFO] [stdout] 151 + let new_table_entries_buffer: Vec = vec![0; entry_count as usize]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `add_entry` found for struct `DbTable` in the current scope [INFO] [stdout] --> src/download_handler.rs:209:32 [INFO] [stdout] | [INFO] [stdout] 64 | struct DbTable<'a>{ [INFO] [stdout] | ------------------ method `add_entry` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 209 | self.file_system_table.add_entry(&download); [INFO] [stdout] | ^^^^^^^^^ method not found in `DbTable<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status_number` [INFO] [stdout] --> src/scheduler.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | fn from(status_number: u8) -> DownloadStatus { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/scheduler.rs:45:10 [INFO] [stdout] | [INFO] [stdout] 45 | for (index, element) in char_slice.into_iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `char_bytes` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/scheduler.rs:47:29 [INFO] [stdout] | [INFO] [stdout] 47 | element.encode_utf8(&mut char_bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 46 | let mut char_bytes: [u8; 4] = [0; 4]; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `converted_bytes` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/scheduler.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | converted_bytes.push(*byte); [INFO] [stdout] | ^^^^^^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 43 | let mut converted_bytes : Vec = Vec::with_capacity(2048); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/scheduler.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 104 | download_bytes.extend_from_slice(match download.download_size { [INFO] [stdout] | __________________________________________- [INFO] [stdout] 105 | | Some(size) => &size.to_ne_bytes(), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^- [INFO] [stdout] | | | | [INFO] [stdout] | | | temporary value is freed at the end of this statement [INFO] [stdout] | | creates a temporary value which is freed while still in use [INFO] [stdout] 106 | | None => &[0u8; 8] [INFO] [stdout] 107 | | } [INFO] [stdout] | |_____________- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 104 ~ let binding = size.to_ne_bytes(); [INFO] [stdout] 105 ~ download_bytes.extend_from_slice(match download.download_size { [INFO] [stdout] 106 ~ Some(size) => &binding, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/scheduler.rs:112:28 [INFO] [stdout] | [INFO] [stdout] 111 | download_bytes.extend_from_slice(match download.current_download_size { [INFO] [stdout] | __________________________________________- [INFO] [stdout] 112 | | Some(size) => &size.to_ne_bytes(), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^- [INFO] [stdout] | | | | [INFO] [stdout] | | | temporary value is freed at the end of this statement [INFO] [stdout] | | creates a temporary value which is freed while still in use [INFO] [stdout] 113 | | None => &[0u8; 8] [INFO] [stdout] 114 | | } [INFO] [stdout] | |_____________- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 111 ~ let binding = size.to_ne_bytes(); [INFO] [stdout] 112 ~ download_bytes.extend_from_slice(match download.current_download_size { [INFO] [stdout] 113 ~ Some(size) => &binding, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/scheduler.rs:119:28 [INFO] [stdout] | [INFO] [stdout] 118 | download_bytes.extend_from_slice( match download.time_start { [INFO] [stdout] | ___________________________________________- [INFO] [stdout] 119 | | Some(time) => &time.timestamp().to_ne_bytes(), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] | | | | [INFO] [stdout] | | | temporary value is freed at the end of this statement [INFO] [stdout] | | creates a temporary value which is freed while still in use [INFO] [stdout] 120 | | None => &[0u8; 8], [INFO] [stdout] 121 | | } [INFO] [stdout] | |_____________- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 118 ~ let binding = time.timestamp().to_ne_bytes(); [INFO] [stdout] 119 ~ download_bytes.extend_from_slice( match download.time_start { [INFO] [stdout] 120 ~ Some(time) => &binding, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/scheduler.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 125 | download_bytes.extend_from_slice( match download.time_finished { [INFO] [stdout] | ___________________________________________- [INFO] [stdout] 126 | | Some(time) => &time.timestamp().to_ne_bytes(), [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] | | | | [INFO] [stdout] | | | temporary value is freed at the end of this statement [INFO] [stdout] | | creates a temporary value which is freed while still in use [INFO] [stdout] 127 | | None => &[0u8; 8] [INFO] [stdout] 128 | | }); [INFO] [stdout] | |_________- borrow later used here [INFO] [stdout] | [INFO] [stdout] help: consider using a `let` binding to create a longer lived value [INFO] [stdout] | [INFO] [stdout] 125 ~ let binding = time.timestamp().to_ne_bytes(); [INFO] [stdout] 126 ~ download_bytes.extend_from_slice( match download.time_finished { [INFO] [stdout] 127 ~ Some(time) => &binding, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_threads` [INFO] [stdout] --> src/scheduler.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn new(num_threads: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `download` [INFO] [stdout] --> src/scheduler.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn schedule(&mut self, download: Weak) -> Handle { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_download` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filesystem_download_path` [INFO] [stdout] --> src/download_handler.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | fn new(download_url: String, filesystem_download_path: String, file_system_location: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filesystem_download_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry_bytes` [INFO] [stdout] --> src/download_handler.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 53 | fn from_bytes(entry_bytes: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_bytes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_seek_cursor_position` [INFO] [stdout] --> src/download_handler.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | let new_seek_cursor_position: u64 = match db_file.seek(SeekFrom::Start(0)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_seek_cursor_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cursor` [INFO] [stdout] --> src/download_handler.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | let cursor: u64 = match db_file.seek(SeekFrom::Start(8)) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `new_table_entries_buffer` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/download_handler.rs:158:27 [INFO] [stdout] | [INFO] [stdout] 158 | db_file.read(&mut new_table_entries_buffer.as_mut_slice()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 151 | let mut new_table_entries_buffer: Vec = (vec![0; entry_count as usize]); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing function parameter `db_file_path` [INFO] [stdout] --> src/download_handler.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | / Self { [INFO] [stdout] 186 | | download_records: Vec::new(), [INFO] [stdout] 187 | | file_system_table: DbTable::new(db_file_path.as_str()), [INFO] [stdout] | | ------------ `db_file_path` is borrowed here [INFO] [stdout] 188 | | phantom: PhantomData, [INFO] [stdout] 189 | | db_file_path: db_file_path, [INFO] [stdout] 190 | | } [INFO] [stdout] | |_________^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `db_file_path` because it is borrowed [INFO] [stdout] --> src/download_handler.rs:189:27 [INFO] [stdout] | [INFO] [stdout] 181 | impl<'a> Database<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] 182 | fn new(db_file_path: String) -> Self { [INFO] [stdout] | ------------ binding `db_file_path` declared here [INFO] [stdout] ... [INFO] [stdout] 185 | / Self { [INFO] [stdout] 186 | | download_records: Vec::new(), [INFO] [stdout] 187 | | file_system_table: DbTable::new(db_file_path.as_str()), [INFO] [stdout] | | ------------ borrow of `db_file_path` occurs here [INFO] [stdout] 188 | | phantom: PhantomData, [INFO] [stdout] 189 | | db_file_path: db_file_path, [INFO] [stdout] | | ^^^^^^^^^^^^ move out of `db_file_path` occurs here [INFO] [stdout] 190 | | } [INFO] [stdout] | |_________- returning this value requires that `db_file_path` is borrowed for `'a` [INFO] [stdout] | [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 187 | file_system_table: DbTable::new(db_file_path.clone().as_str()), [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/download_handler.rs:222:19 [INFO] [stdout] | [INFO] [stdout] 222 | fn parse_file(buffer: &[u8]) -> Vec{ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `download_ref` [INFO] [stdout] --> src/download_handler.rs:234:16 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn new(download_ref: &Rc) -> Self{ [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_download_ref` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> src/download_handler.rs:273:16 [INFO] [stdout] | [INFO] [stdout] 273 | fn add_job(url: String, path: String) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/download_handler.rs:273:29 [INFO] [stdout] | [INFO] [stdout] 273 | fn add_job(url: String, path: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `download_handle` [INFO] [stdout] --> src/main.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let download_handle = download_handler.add_download("hello".to_string(), "hello".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_download_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0505, E0515, E0596, E0599, E0716. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0505`. [INFO] [stdout] [INFO] [stderr] error: could not compile `download_manager` (bin "download_manager") due to 10 previous errors; 21 warnings emitted [INFO] running `Command { std: "docker" "inspect" "ae1475797c29d76ce254596c7750803e5ce4d924e3de745a88123e3537352d5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ae1475797c29d76ce254596c7750803e5ce4d924e3de745a88123e3537352d5d", kill_on_drop: false }` [INFO] [stdout] ae1475797c29d76ce254596c7750803e5ce4d924e3de745a88123e3537352d5d