[INFO] crate whoiz 0.1.0 is already in cache [INFO] extracting crate whoiz 0.1.0 into work/ex/pr-58592/sources/master#f66e4697ae286985ddefc53c3a047614568458bb/reg/whoiz/0.1.0 [INFO] extracting crate whoiz 0.1.0 into work/ex/pr-58592/sources/try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a/reg/whoiz/0.1.0 [INFO] validating manifest of whoiz-0.1.0 on toolchain master#f66e4697ae286985ddefc53c3a047614568458bb [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+f66e4697ae286985ddefc53c3a047614568458bb-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of whoiz-0.1.0 on toolchain try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c3b22200e6f5b70eb1f99ae6944d989ae17a458a-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing whoiz-0.1.0 [INFO] finished frobbing whoiz-0.1.0 [INFO] frobbed toml for whoiz-0.1.0 written to work/ex/pr-58592/sources/master#f66e4697ae286985ddefc53c3a047614568458bb/reg/whoiz/0.1.0/Cargo.toml [INFO] started frobbing whoiz-0.1.0 [INFO] finished frobbing whoiz-0.1.0 [INFO] frobbed toml for whoiz-0.1.0 written to work/ex/pr-58592/sources/try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a/reg/whoiz/0.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+f66e4697ae286985ddefc53c3a047614568458bb-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c3b22200e6f5b70eb1f99ae6944d989ae17a458a-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+f66e4697ae286985ddefc53c3a047614568458bb-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c3b22200e6f5b70eb1f99ae6944d989ae17a458a-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking whoiz-0.1.0 against try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a for pr-58592 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-58592/worker-0/try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-58592/sources/try#c3b22200e6f5b70eb1f99ae6944d989ae17a458a/reg/whoiz/0.1.0:/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" "+c3b22200e6f5b70eb1f99ae6944d989ae17a458a-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 878615787b3fcb98f86c29da47cd2ee4ac1bfb825932f2dd1bc1e063ed3467d5 [INFO] running `"docker" "start" "-a" "878615787b3fcb98f86c29da47cd2ee4ac1bfb825932f2dd1bc1e063ed3467d5"` [INFO] [stderr] Checking resolve v0.2.0 [INFO] [stderr] Checking whoiz v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused imports: `RirId`, `Rir` [INFO] [stderr] --> src/tests.rs:3:14 [INFO] [stderr] | [INFO] [stderr] 3 | use ip_map::{Rir,RirId}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `whois_server::WhoisServer` [INFO] [stderr] --> src/tests.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use whois_server::WhoisServer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parser::WhoisData` [INFO] [stderr] --> src/tests.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use parser::WhoisData; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IpAddr`, `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/tests.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `query::fetch_ip` [INFO] [stderr] --> src/tests.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use query::fetch_ip; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/tests.rs:6:24 [INFO] [stderr] | [INFO] [stderr] 6 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/ip_map.rs:320:9 [INFO] [stderr] | [INFO] [stderr] 320 | _ => panic!["BUG"], [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `query` [INFO] [stderr] --> src/query.rs:17:14 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn fetch(query: &str) { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_query` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `domain` [INFO] [stderr] --> src/query.rs:28:21 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn fetch_domain(domain: &str) { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_domain` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `raw` is never read [INFO] [stderr] --> src/query.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | let mut raw: String = "".to_string(); [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: value assigned to `cumulative` is never read [INFO] [stderr] --> src/query.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let mut cumulative: String = "".to_string(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parsed` [INFO] [stderr] --> src/query.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let parsed: WhoisData; [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_parsed` [INFO] [stderr] [INFO] [stderr] warning: variable `proto` is assigned to, but never used [INFO] [stderr] --> src/parser.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | let proto: String; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_proto` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `proto` is never read [INFO] [stderr] --> src/parser.rs:104:25 [INFO] [stderr] | [INFO] [stderr] 104 | proto = pr.to_string(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `contains` found for type `std::result::Result` in the current scope [INFO] [stderr] --> src/tests.rs:29:85 [INFO] [stderr] | [INFO] [stderr] 29 | assert!( fetch_ip( &IpAddr::from_str("8.8.8.8").expect("bad IP addr format") ).contains("Google LLC (GOGL)") ); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `contains` found for type `std::result::Result` in the current scope [INFO] [stderr] --> src/tests.rs:34:87 [INFO] [stderr] | [INFO] [stderr] 34 | assert!( fetch_ip( &IpAddr::from_str("147.83.2.3").expect("bad IP addr format") ).contains("Universitat Politecnica de Catalunya")) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for type `std::result::Result` in the current scope [INFO] [stderr] --> src/tests.rs:40:126 [INFO] [stderr] | [INFO] [stderr] 40 | assert_eq!( Some("netcup GmbH".to_string()), fetch_ip( &IpAddr::from_str("37.120.172.168").expect("bad IP addr format")).parse::().unwrap().get_org_name() ); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for type `std::result::Result` in the current scope [INFO] [stderr] --> src/tests.rs:42:99 [INFO] [stderr] | [INFO] [stderr] 42 | assert_eq!( None, fetch_ip( &IpAddr::from_str("200.58.120.110").expect("bad IP addr format")).parse::().unwrap().get_org_name() ); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for type `std::result::Result` in the current scope [INFO] [stderr] --> src/tests.rs:48:117 [INFO] [stderr] | [INFO] [stderr] 48 | assert_eq!( Some("AR".to_string()), fetch_ip( &IpAddr::from_str("200.58.120.110").expect("bad IP addr format")).parse::().unwrap().get_country()); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for type `std::result::Result` in the current scope [INFO] [stderr] --> src/tests.rs:50:116 [INFO] [stderr] | [INFO] [stderr] 50 | assert_eq!( Some("JP".to_string()), fetch_ip( &IpAddr::from_str("45.77.131.253").expect("bad IP addr format")).parse::().unwrap().get_country()); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `parse` found for type `std::result::Result` in the current scope [INFO] [stderr] --> src/tests.rs:52:116 [INFO] [stderr] | [INFO] [stderr] 52 | assert_eq!( Some("NL".to_string()), fetch_ip( &IpAddr::from_str("94.237.40.128").expect("bad IP addr format")).parse::().unwrap().get_country()); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 7 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0599`. [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | let mut org_name = self.data.get("OrgName"); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | let mut net_name = self.data.get("NetName"); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | let mut country = self.data.get("Country"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fetch` [INFO] [stderr] --> src/query.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn fetch(query: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fetch_domain` [INFO] [stderr] --> src/query.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn fetch_domain(domain: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/parser.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn new(&self) -> WhoisData { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/query.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 127 | stream.write(&format!("{}{}\n", query_flags, ip).into_bytes()); [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/query.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | stream.read_to_string(&mut buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: Could not compile `whoiz`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "878615787b3fcb98f86c29da47cd2ee4ac1bfb825932f2dd1bc1e063ed3467d5"` [INFO] running `"docker" "rm" "-f" "878615787b3fcb98f86c29da47cd2ee4ac1bfb825932f2dd1bc1e063ed3467d5"` [INFO] [stdout] 878615787b3fcb98f86c29da47cd2ee4ac1bfb825932f2dd1bc1e063ed3467d5