[INFO] updating cached repository 3541/bt [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/3541/bt [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/3541/bt" "work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/3541/bt"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/3541/bt'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/3541/bt" "work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/3541/bt"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/3541/bt'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5fd7a61201e34f1a7e0a9ea237cdc54f1129fb1f [INFO] sha for GitHub repo 3541/bt: 5fd7a61201e34f1a7e0a9ea237cdc54f1129fb1f [INFO] validating manifest of 3541/bt on toolchain master#e305df1846a6d985315917ae0c81b74af8b4e641 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of 3541/bt on toolchain try#99a7498759a22b5684caf798a98b7e90ad9d2443 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing 3541/bt [INFO] finished frobbing 3541/bt [INFO] frobbed toml for 3541/bt written to work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/3541/bt/Cargo.toml [INFO] started frobbing 3541/bt [INFO] finished frobbing 3541/bt [INFO] frobbed toml for 3541/bt written to work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/3541/bt/Cargo.toml [INFO] crate 3541/bt already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking 3541/bt against try#99a7498759a22b5684caf798a98b7e90ad9d2443 for pr-60039-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-60039-1/worker-4/try#99a7498759a22b5684caf798a98b7e90ad9d2443:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/3541/bt:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 3822b35d11030bf55928d4260d3d88401935f3f882e6957fc9dbafda0cce8826 [INFO] running `"docker" "start" "-a" "3822b35d11030bf55928d4260d3d88401935f3f882e6957fc9dbafda0cce8826"` [INFO] [stderr] Checking bt v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/torrent/bencode/mod.rs:155:9 [INFO] [stderr] | [INFO] [stderr] 155 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/torrent/bencode/mod.rs:156:9 [INFO] [stderr] | [INFO] [stderr] 156 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/torrent/bencode/mod.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/torrent/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `len` [INFO] [stderr] --> src/torrent/mod.rs:67:41 [INFO] [stderr] | [INFO] [stderr] 67 | Ok((BencodeObject::Dict(d), len)) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_len` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/torrent/mod.rs:114:42 [INFO] [stderr] | [INFO] [stderr] 114 | Some(s) => {}, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file` [INFO] [stderr] --> src/torrent/mod.rs:131:22 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn new_multi(file: File) -> Torrent { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_file` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/torrent/bencode/mod.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | Err(e) => Err("Malformed string. Could not parse length".to_string()), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `sign` is never read [INFO] [stderr] --> src/torrent/bencode/mod.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | let mut sign = 1; [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: `e` [INFO] [stderr] --> src/torrent/bencode/mod.rs:48:17 [INFO] [stderr] | [INFO] [stderr] 48 | e => { return Err("Unexpected character or field not delimited correctly.".to_string()) }, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/torrent/bencode/mod.rs:53:17 [INFO] [stderr] | [INFO] [stderr] 53 | Err(e) => Err("Malformed number. Did not parse.".to_string()), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/torrent/bencode/mod.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | Err(e) => { return Err("Could not parse string length.".to_string()); }, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `key` is never read [INFO] [stderr] --> src/torrent/bencode/mod.rs:108:21 [INFO] [stderr] | [INFO] [stderr] 108 | let mut key = ByteString::new(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `klen` is never read [INFO] [stderr] --> src/torrent/bencode/mod.rs:109:21 [INFO] [stderr] | [INFO] [stderr] 109 | let mut klen:usize = 0; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/torrent/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `info` [INFO] [stderr] --> src/torrent/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | info: Info, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `announce` [INFO] [stderr] --> src/torrent/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | announce: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `creation_date` [INFO] [stderr] --> src/torrent/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | creation_date: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `created_by` [INFO] [stderr] --> src/torrent/mod.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | created_by: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `comment` [INFO] [stderr] --> src/torrent/mod.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | comment: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `info` [INFO] [stderr] --> src/torrent/mod.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | info: InfoBuilder, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `created_by` [INFO] [stderr] --> src/torrent/mod.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | created_by: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `created_by` [INFO] [stderr] --> src/torrent/mod.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | fn created_by(&mut self, c: String) -> &mut TorrentBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `info` [INFO] [stderr] --> src/torrent/mod.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | fn info(&mut self, i: InfoBuilder) -> &mut TorrentBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `finalize` [INFO] [stderr] --> src/torrent/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn finalize(self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_multi` [INFO] [stderr] --> src/torrent/mod.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn new_multi(file: File) -> Torrent { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_type` [INFO] [stderr] --> src/torrent/mod.rs:136:1 [INFO] [stderr] | [INFO] [stderr] 136 | fn print_type(_: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `piece_length` [INFO] [stderr] --> src/torrent/mod.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | piece_length: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pieces` [INFO] [stderr] --> src/torrent/mod.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | pieces: Vec<[u8; 20]>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `private` [INFO] [stderr] --> src/torrent/mod.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | private: bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `files` [INFO] [stderr] --> src/torrent/mod.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | files: TargetFiles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `piece_length` [INFO] [stderr] --> src/torrent/mod.rs:149:5 [INFO] [stderr] | [INFO] [stderr] 149 | piece_length: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pieces` [INFO] [stderr] --> src/torrent/mod.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | pieces: Vec<[u8; 20]>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `private` [INFO] [stderr] --> src/torrent/mod.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | private: bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `files` [INFO] [stderr] --> src/torrent/mod.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | files: TargetFiles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `piece_length` [INFO] [stderr] --> src/torrent/mod.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | fn piece_length(&mut self, p: u32) -> &mut InfoBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pieces` [INFO] [stderr] --> src/torrent/mod.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | fn pieces(&mut self, p: Vec<[u8; 20]>) -> &mut InfoBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `private` [INFO] [stderr] --> src/torrent/mod.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | fn private(&mut self, p: bool) -> &mut InfoBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `files` [INFO] [stderr] --> src/torrent/mod.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | fn files(&mut self, f: TargetFiles) -> &mut InfoBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `finalize` [INFO] [stderr] --> src/torrent/mod.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | fn finalize(self) -> Info { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Single` [INFO] [stderr] --> src/torrent/mod.rs:186:5 [INFO] [stderr] | [INFO] [stderr] 186 | Single(TargetFile), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `name` [INFO] [stderr] --> src/torrent/mod.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | Multi { name: String, files: Vec }, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `files` [INFO] [stderr] --> src/torrent/mod.rs:187:27 [INFO] [stderr] | [INFO] [stderr] 187 | Multi { name: String, files: Vec }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `name` [INFO] [stderr] --> src/torrent/mod.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | name: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `length` [INFO] [stderr] --> src/torrent/mod.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | length: u64, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `md5sum` [INFO] [stderr] --> src/torrent/mod.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | md5sum: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `path` [INFO] [stderr] --> src/torrent/mod.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | path: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_type` [INFO] [stderr] --> src/main.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | fn print_type(_: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/torrent/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #![feature(core_intrinsics)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_attributes)] on by default [INFO] [stderr] [INFO] [stderr] warning: crate-level attribute should be in the root module [INFO] [stderr] --> src/torrent/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #![feature(core_intrinsics)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | file.read_to_end(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused variable: `len` [INFO] [stderr] --> src/torrent/mod.rs:67:41 [INFO] [stderr] | [INFO] [stderr] 67 | Ok((BencodeObject::Dict(d), len)) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_len` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/torrent/mod.rs:114:42 [INFO] [stderr] | [INFO] [stderr] 114 | Some(s) => {}, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file` [INFO] [stderr] --> src/torrent/mod.rs:131:22 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn new_multi(file: File) -> Torrent { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_file` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/torrent/bencode/mod.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | Err(e) => Err("Malformed string. Could not parse length".to_string()), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `sign` is never read [INFO] [stderr] --> src/torrent/bencode/mod.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | let mut sign = 1; [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: `e` [INFO] [stderr] --> src/torrent/bencode/mod.rs:48:17 [INFO] [stderr] | [INFO] [stderr] 48 | e => { return Err("Unexpected character or field not delimited correctly.".to_string()) }, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/torrent/bencode/mod.rs:53:17 [INFO] [stderr] | [INFO] [stderr] 53 | Err(e) => Err("Malformed number. Did not parse.".to_string()), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/torrent/bencode/mod.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | Err(e) => { return Err("Could not parse string length.".to_string()); }, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `key` is never read [INFO] [stderr] --> src/torrent/bencode/mod.rs:108:21 [INFO] [stderr] | [INFO] [stderr] 108 | let mut key = ByteString::new(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `klen` is never read [INFO] [stderr] --> src/torrent/bencode/mod.rs:109:21 [INFO] [stderr] | [INFO] [stderr] 109 | let mut klen:usize = 0; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `len` [INFO] [stderr] --> src/torrent/bencode/mod.rs:227:38 [INFO] [stderr] | [INFO] [stderr] 227 | (BencodeObject::Dict(d), len) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_len` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `len` [INFO] [stderr] --> src/torrent/bencode/mod.rs:259:37 [INFO] [stderr] | [INFO] [stderr] 259 | (BencodeObject::Dict(d), len) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_len` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `info` [INFO] [stderr] --> src/torrent/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | info: Info, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `announce` [INFO] [stderr] --> src/torrent/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | announce: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `creation_date` [INFO] [stderr] --> src/torrent/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | creation_date: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `created_by` [INFO] [stderr] --> src/torrent/mod.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | created_by: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `comment` [INFO] [stderr] --> src/torrent/mod.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | comment: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `info` [INFO] [stderr] --> src/torrent/mod.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | info: InfoBuilder, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `created_by` [INFO] [stderr] --> src/torrent/mod.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | created_by: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `created_by` [INFO] [stderr] --> src/torrent/mod.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | fn created_by(&mut self, c: String) -> &mut TorrentBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `info` [INFO] [stderr] --> src/torrent/mod.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | fn info(&mut self, i: InfoBuilder) -> &mut TorrentBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `finalize` [INFO] [stderr] --> src/torrent/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn finalize(self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_multi` [INFO] [stderr] --> src/torrent/mod.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn new_multi(file: File) -> Torrent { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_type` [INFO] [stderr] --> src/torrent/mod.rs:136:1 [INFO] [stderr] | [INFO] [stderr] 136 | fn print_type(_: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `piece_length` [INFO] [stderr] --> src/torrent/mod.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | piece_length: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pieces` [INFO] [stderr] --> src/torrent/mod.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | pieces: Vec<[u8; 20]>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `private` [INFO] [stderr] --> src/torrent/mod.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | private: bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `files` [INFO] [stderr] --> src/torrent/mod.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | files: TargetFiles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `piece_length` [INFO] [stderr] --> src/torrent/mod.rs:149:5 [INFO] [stderr] | [INFO] [stderr] 149 | piece_length: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pieces` [INFO] [stderr] --> src/torrent/mod.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | pieces: Vec<[u8; 20]>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `private` [INFO] [stderr] --> src/torrent/mod.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | private: bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `files` [INFO] [stderr] --> src/torrent/mod.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | files: TargetFiles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `piece_length` [INFO] [stderr] --> src/torrent/mod.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | fn piece_length(&mut self, p: u32) -> &mut InfoBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pieces` [INFO] [stderr] --> src/torrent/mod.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | fn pieces(&mut self, p: Vec<[u8; 20]>) -> &mut InfoBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `private` [INFO] [stderr] --> src/torrent/mod.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | fn private(&mut self, p: bool) -> &mut InfoBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `files` [INFO] [stderr] --> src/torrent/mod.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | fn files(&mut self, f: TargetFiles) -> &mut InfoBuilder { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `finalize` [INFO] [stderr] --> src/torrent/mod.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | fn finalize(self) -> Info { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Single` [INFO] [stderr] --> src/torrent/mod.rs:186:5 [INFO] [stderr] | [INFO] [stderr] 186 | Single(TargetFile), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `name` [INFO] [stderr] --> src/torrent/mod.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | Multi { name: String, files: Vec }, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `files` [INFO] [stderr] --> src/torrent/mod.rs:187:27 [INFO] [stderr] | [INFO] [stderr] 187 | Multi { name: String, files: Vec }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `name` [INFO] [stderr] --> src/torrent/mod.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | name: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `length` [INFO] [stderr] --> src/torrent/mod.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | length: u64, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `md5sum` [INFO] [stderr] --> src/torrent/mod.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | md5sum: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `path` [INFO] [stderr] --> src/torrent/mod.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | path: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_type` [INFO] [stderr] --> src/main.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | fn print_type(_: &T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/torrent/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #![feature(core_intrinsics)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_attributes)] on by default [INFO] [stderr] [INFO] [stderr] warning: crate-level attribute should be in the root module [INFO] [stderr] --> src/torrent/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #![feature(core_intrinsics)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | file.read_to_end(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/torrent/bencode/mod.rs:256:8 [INFO] [stderr] | [INFO] [stderr] 256 | file.read_to_end(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.35s [INFO] running `"docker" "inspect" "3822b35d11030bf55928d4260d3d88401935f3f882e6957fc9dbafda0cce8826"` [INFO] running `"docker" "rm" "-f" "3822b35d11030bf55928d4260d3d88401935f3f882e6957fc9dbafda0cce8826"` [INFO] [stdout] 3822b35d11030bf55928d4260d3d88401935f3f882e6957fc9dbafda0cce8826