[INFO] updating cached repository https://github.com/hokora/rust-bot [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/mnt/big/crater/work/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 209260c188fb6e2350c89205b56b98d04f81d936 [INFO] checking hokora/rust-bot against try#e689e5eaefe96e6dc3ed5bb629c521b7d207aff7 for pr-64398 [INFO] running `"git" "clone" "work/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhokora%2Frust-bot" "work/builds/worker-4/source"` [INFO] [stderr] Cloning into 'work/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/hokora/rust-bot on toolchain e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/hokora/rust-bot [INFO] finished tweaking git repo https://github.com/hokora/rust-bot [INFO] tweaked toml for git repo https://github.com/hokora/rust-bot written to work/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/hokora/rust-bot already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /mnt/big/crater/work/builds/worker-4/source/src/bin/util.rs [INFO] [stderr] * /mnt/big/crater/work/builds/worker-4/source/src/bin/message_handler.rs [INFO] [stderr] * /mnt/big/crater/work/builds/worker-4/source/src/bin/parse.rs [INFO] [stderr] * /mnt/big/crater/work/builds/worker-4/source/src/bin/user.rs [INFO] [stderr] * /mnt/big/crater/work/builds/worker-4/source/src/bin/colors.rs [INFO] [stderr] * /mnt/big/crater/work/builds/worker-4/source/src/bin/nyaa.rs [INFO] [stderr] * /mnt/big/crater/work/builds/worker-4/source/src/bin/irc.rs [INFO] [stderr] * /mnt/big/crater/work/builds/worker-4/source/src/bin/config.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/mnt/big/crater/work/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/mnt/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e689e5eaefe96e6dc3ed5bb629c521b7d207aff7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 52a78202d4bde6abb89978f6aa13128f87255dbedcf9395ea9937610d53d1824 [INFO] running `"docker" "start" "-a" "52a78202d4bde6abb89978f6aa13128f87255dbedcf9395ea9937610d53d1824"` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /opt/rustwide/workdir/src/bin/util.rs [INFO] [stderr] * /opt/rustwide/workdir/src/bin/message_handler.rs [INFO] [stderr] * /opt/rustwide/workdir/src/bin/parse.rs [INFO] [stderr] * /opt/rustwide/workdir/src/bin/user.rs [INFO] [stderr] * /opt/rustwide/workdir/src/bin/colors.rs [INFO] [stderr] * /opt/rustwide/workdir/src/bin/nyaa.rs [INFO] [stderr] * /opt/rustwide/workdir/src/bin/irc.rs [INFO] [stderr] * /opt/rustwide/workdir/src/bin/config.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Checking redis v0.8.0 [INFO] [stderr] Checking rust-bot v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/bttv.rs:48:17 [INFO] [stderr] | [INFO] [stderr] 48 | let s = try!(self.http.get_body_string(&format!("{}{}",CHANNEL_URL,channel)).map_err(EmoteError::Http)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/bttv.rs:51:34 [INFO] [stderr] | [INFO] [stderr] 51 | let bttv_json:BttvJson = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/bttv.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | let s = try!(self.http.get_body_string(GLOBAL_URL).map_err(EmoteError::Http)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/bttv.rs:59:34 [INFO] [stderr] | [INFO] [stderr] 59 | let bttv_json:BttvJson = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/ffz.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | let s = try!(self.http.get_body_string(&format!("{}{}",CHANNEL_URL,channel)).map_err(EmoteError::Http)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:52:34 [INFO] [stderr] | [INFO] [stderr] 52 | let ffz_json: Ffz_json = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:54:36 [INFO] [stderr] | [INFO] [stderr] 54 | let v: serde_json::Value = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:56:37 [INFO] [stderr] | [INFO] [stderr] 56 | let vs: serde_json::Value = try_map!(serde_json::from_value(asd.to_owned()),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:58:27 [INFO] [stderr] | [INFO] [stderr] 58 | let set: Set_id = try_map!(serde_json::from_value(asdf.to_owned()),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | ----------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/ffz.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | let s = try!(self.http.get_body_string(GLOBAL_URL).map_err(EmoteError::Http)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:66:36 [INFO] [stderr] | [INFO] [stderr] 66 | let v: serde_json::Value = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/ffz.rs:67:32 [INFO] [stderr] | [INFO] [stderr] 67 | let mut default_sets = try!(v["default_sets"].as_array().ok_or(EmoteError::Json(JsonError::ParseError))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:74:26 [INFO] [stderr] | [INFO] [stderr] 74 | let set: Set_id= try_map!(serde_json::from_value(set_id.clone()),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/twitch.rs:46:35 [INFO] [stderr] | [INFO] [stderr] 46 | let v:serde_json::Value = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/twitch.rs:54:25 [INFO] [stderr] | [INFO] [stderr] 54 | let emote = try_map!(serde_json::from_value(set),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/redis_handler.rs:23:22 [INFO] [stderr] | [INFO] [stderr] 23 | let client = try_map!(redis::Client::open(REDIS_SERVER),ConnectionError::ParseUrl); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/redis_handler.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | let con = try_map!(client.get_connection(),ConnectionError::ConnectionToServer); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/connection.rs:78:12 [INFO] [stderr] | [INFO] [stderr] 78 | Ok(try!(self.stream.try_clone())) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/http.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | let tls = try!(NativeTlsClient::new().map_err(|e| e.to_string())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/http.rs:35:24 [INFO] [stderr] | [INFO] [stderr] 35 | let response = try_map!(self.client.get(url).send(),HttpError::GetErr); [INFO] [stderr] | ------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/http.rs:45:28 [INFO] [stderr] | [INFO] [stderr] 45 | let mut response = try_map!(self.client.get(url).send(),HttpError::GetErr); [INFO] [stderr] | ------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:16:21 [INFO] [stderr] | [INFO] [stderr] 16 | loader: try!(Loader::new()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | try!(self.add_channel(channel.clone())) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | try!(self.loader.add_key(channel,k,v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | try!(self.loader.del_key(channel,k)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | let field_val = try!(self.loader.hgetall(channel)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde` [INFO] [stderr] --> src/lib/bttv.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use serde; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `png` should have an upper camel case name [INFO] [stderr] --> src/lib/bttv.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | png, [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case: `Png` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `gif` should have an upper camel case name [INFO] [stderr] --> src/lib/bttv.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | gif, [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case: `Gif` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std` [INFO] [stderr] --> src/lib/ffz.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde` [INFO] [stderr] --> src/lib/ffz.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use serde; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/lib/ffz.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `Ffz_json` should have an upper camel case name [INFO] [stderr] --> src/lib/ffz.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Ffz_json{ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `FfzJson` [INFO] [stderr] [INFO] [stderr] warning: type `Set_id` should have an upper camel case name [INFO] [stderr] --> src/lib/ffz.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | struct Set_id{ [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `SetId` [INFO] [stderr] [INFO] [stderr] warning: the item `chrono` is imported redundantly [INFO] [stderr] --> src/lib/log.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | use chrono; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/lib.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | extern crate chrono; [INFO] [stderr] | -------------------- the item `chrono` is already imported here [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `http` [INFO] [stderr] --> src/lib/bttv.rs:71:27 [INFO] [stderr] | [INFO] [stderr] 71 | let http_client = http::Http::new().unwrap(); [INFO] [stderr] | ^^^^ use of undeclared type or module `http` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Emote` [INFO] [stderr] --> src/lib/bttv.rs:72:20 [INFO] [stderr] | [INFO] [stderr] 72 | let bttv = Emote::new(&http_client).unwrap(); [INFO] [stderr] | ^^^^^ use of undeclared type or module `Emote` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `http` [INFO] [stderr] --> src/lib/ffz.rs:90:27 [INFO] [stderr] | [INFO] [stderr] 90 | let http_client = http::Http::new().unwrap(); [INFO] [stderr] | ^^^^ use of undeclared type or module `http` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Emote` [INFO] [stderr] --> src/lib/ffz.rs:91:19 [INFO] [stderr] | [INFO] [stderr] 91 | let ffz = Emote::new(&http_client).unwrap(); [INFO] [stderr] | ^^^^^ use of undeclared type or module `Emote` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `http` [INFO] [stderr] --> src/lib/twitch.rs:65:27 [INFO] [stderr] | [INFO] [stderr] 65 | let http_client = http::Http::new().unwrap(); [INFO] [stderr] | ^^^^ use of undeclared type or module `http` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Emote` [INFO] [stderr] --> src/lib/twitch.rs:66:26 [INFO] [stderr] | [INFO] [stderr] 66 | let mut twitch = Emote::new(&http_client).unwrap(); [INFO] [stderr] | ^^^^^ use of undeclared type or module `Emote` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Loader` [INFO] [stderr] --> src/lib/redis_handler.rs:71:28 [INFO] [stderr] | [INFO] [stderr] 71 | let mut commands = Loader::new().unwrap(); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `Loader` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Logger` [INFO] [stderr] --> src/lib/log.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | let mut file = Logger::new("tests/log_test.txt").unwrap(); [INFO] [stderr] | ^^^^^^ use of undeclared type or module `Logger` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Connection` [INFO] [stderr] --> src/lib/connection.rs:125:19 [INFO] [stderr] | [INFO] [stderr] 125 | let con = Connection::connect(None).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ use of undeclared type or module `Connection` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Connection` [INFO] [stderr] --> src/lib/connection.rs:129:19 [INFO] [stderr] | [INFO] [stderr] 129 | let con = Connection::connect(Some(stream)).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ use of undeclared type or module `Connection` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Timer` [INFO] [stderr] --> src/lib/timer.rs:49:21 [INFO] [stderr] | [INFO] [stderr] 49 | let timer = Timer::new(30); [INFO] [stderr] | ^^^^^ use of undeclared type or module `Timer` [INFO] [stderr] [INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Timer` [INFO] [stderr] --> src/lib/timer.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | let timer = Timer::new(30); [INFO] [stderr] | ^^^^^ use of undeclared type or module `Timer` [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `TWITCH_SERVER` in this scope [INFO] [stderr] --> src/lib/connection.rs:127:51 [INFO] [stderr] | [INFO] [stderr] 127 | let stream = std::net::TcpStream::connect(TWITCH_SERVER).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 124 | use connection::TWITCH_SERVER; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/bttv.rs:48:17 [INFO] [stderr] | [INFO] [stderr] 48 | let s = try!(self.http.get_body_string(&format!("{}{}",CHANNEL_URL,channel)).map_err(EmoteError::Http)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/bttv.rs:51:34 [INFO] [stderr] | [INFO] [stderr] 51 | let bttv_json:BttvJson = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/bttv.rs:56:17 [INFO] [stderr] | [INFO] [stderr] 56 | let s = try!(self.http.get_body_string(GLOBAL_URL).map_err(EmoteError::Http)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/bttv.rs:59:34 [INFO] [stderr] | [INFO] [stderr] 59 | let bttv_json:BttvJson = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/ffz.rs:49:17 [INFO] [stderr] | [INFO] [stderr] 49 | let s = try!(self.http.get_body_string(&format!("{}{}",CHANNEL_URL,channel)).map_err(EmoteError::Http)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:52:34 [INFO] [stderr] | [INFO] [stderr] 52 | let ffz_json: Ffz_json = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:54:36 [INFO] [stderr] | [INFO] [stderr] 54 | let v: serde_json::Value = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:56:37 [INFO] [stderr] | [INFO] [stderr] 56 | let vs: serde_json::Value = try_map!(serde_json::from_value(asd.to_owned()),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:58:27 [INFO] [stderr] | [INFO] [stderr] 58 | let set: Set_id = try_map!(serde_json::from_value(asdf.to_owned()),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | ----------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/ffz.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | let s = try!(self.http.get_body_string(GLOBAL_URL).map_err(EmoteError::Http)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:66:36 [INFO] [stderr] | [INFO] [stderr] 66 | let v: serde_json::Value = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/ffz.rs:67:32 [INFO] [stderr] | [INFO] [stderr] 67 | let mut default_sets = try!(v["default_sets"].as_array().ok_or(EmoteError::Json(JsonError::ParseError))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/ffz.rs:74:26 [INFO] [stderr] | [INFO] [stderr] 74 | let set: Set_id= try_map!(serde_json::from_value(set_id.clone()),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/twitch.rs:46:35 [INFO] [stderr] | [INFO] [stderr] 46 | let v:serde_json::Value = try_map!(serde_json::from_str(&s),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/twitch.rs:54:25 [INFO] [stderr] | [INFO] [stderr] 54 | let emote = try_map!(serde_json::from_value(set),EmoteError::Json(JsonError::ParseError)); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/redis_handler.rs:23:22 [INFO] [stderr] | [INFO] [stderr] 23 | let client = try_map!(redis::Client::open(REDIS_SERVER),ConnectionError::ParseUrl); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/redis_handler.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | let con = try_map!(client.get_connection(),ConnectionError::ConnectionToServer); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/connection.rs:78:12 [INFO] [stderr] | [INFO] [stderr] 78 | Ok(try!(self.stream.try_clone())) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/http.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | let tls = try!(NativeTlsClient::new().map_err(|e| e.to_string())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/http.rs:35:24 [INFO] [stderr] | [INFO] [stderr] 35 | let response = try_map!(self.client.get(url).send(),HttpError::GetErr); [INFO] [stderr] | ------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/macros.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | try!($e.map_err(|_| $t)) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/http.rs:45:28 [INFO] [stderr] | [INFO] [stderr] 45 | let mut response = try_map!(self.client.get(url).send(),HttpError::GetErr); [INFO] [stderr] | ------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:16:21 [INFO] [stderr] | [INFO] [stderr] 16 | loader: try!(Loader::new()), [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | try!(self.add_channel(channel.clone())) [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | try!(self.loader.add_key(channel,k,v)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | try!(self.loader.del_key(channel,k)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/lib/commands.rs:54:29 [INFO] [stderr] | [INFO] [stderr] 54 | let field_val = try!(self.loader.hgetall(channel)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde` [INFO] [stderr] --> src/lib/bttv.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use serde; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `png` should have an upper camel case name [INFO] [stderr] --> src/lib/bttv.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | png, [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case: `Png` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `gif` should have an upper camel case name [INFO] [stderr] --> src/lib/bttv.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | gif, [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case: `Gif` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std` [INFO] [stderr] --> src/lib/ffz.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde` [INFO] [stderr] --> src/lib/ffz.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use serde; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Read` [INFO] [stderr] --> src/lib/ffz.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::Read; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `Ffz_json` should have an upper camel case name [INFO] [stderr] --> src/lib/ffz.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Ffz_json{ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `FfzJson` [INFO] [stderr] [INFO] [stderr] warning: type `Set_id` should have an upper camel case name [INFO] [stderr] --> src/lib/ffz.rs:23:8 [INFO] [stderr] | [INFO] [stderr] 23 | struct Set_id{ [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `SetId` [INFO] [stderr] [INFO] [stderr] warning: the item `chrono` is imported redundantly [INFO] [stderr] --> src/lib/log.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | use chrono; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib/lib.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | extern crate chrono; [INFO] [stderr] | -------------------- the item `chrono` is already imported here [INFO] [stderr] [INFO] [stderr] error: aborting due to 13 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0425, E0433. [INFO] [stderr] For more information about an error, try `rustc --explain E0425`. [INFO] [stderr] error: Could not compile `rust-bot`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib/ffz.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | let mut default_sets = try!(v["default_sets"].as_array().ok_or(EmoteError::Json(JsonError::ParseError))); [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/lib/twitch.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | let mut sets = match emoticon_sets["0"].as_array(){ [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GLOBAL_URL` [INFO] [stderr] --> src/lib/twitch.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | const GLOBAL_URL:&'static str = "https://api.twitch.tv/kraken/chat/emoticon_images?emotesets=0"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `http` [INFO] [stderr] --> src/lib/twitch.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | http: &'a http::Http, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TWITCH_SERVER_SSL` [INFO] [stderr] --> src/lib/connection.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const TWITCH_SERVER_SSL: &'static str = "irc.chat.twitch.tv:443"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `imageType` should have a snake case name [INFO] [stderr] --> src/lib/bttv.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | imageType: ImageType, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `image_type` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib/twitch.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | file.read_to_string(&mut s); [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] error: build failed [INFO] running `"docker" "inspect" "52a78202d4bde6abb89978f6aa13128f87255dbedcf9395ea9937610d53d1824"` [INFO] running `"docker" "rm" "-f" "52a78202d4bde6abb89978f6aa13128f87255dbedcf9395ea9937610d53d1824"` [INFO] [stdout] 52a78202d4bde6abb89978f6aa13128f87255dbedcf9395ea9937610d53d1824