[INFO] updating cached repository https://github.com/pbzweihander/discord-irc-rs [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/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] 3dd8c936395ae45f22a4fbe5f5721070feb04a4a [INFO] checking pbzweihander/discord-irc-rs against try#ea663bba38739867a4b75ac820991b4f5d093c3b for pr-62262-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpbzweihander%2Fdiscord-irc-rs" "/workspace/builds/worker-14/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/pbzweihander/discord-irc-rs on toolchain ea663bba38739867a4b75ac820991b4f5d093c3b [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/pbzweihander/discord-irc-rs [INFO] finished tweaking git repo https://github.com/pbzweihander/discord-irc-rs [INFO] tweaked toml for git repo https://github.com/pbzweihander/discord-irc-rs written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/pbzweihander/discord-irc-rs already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "MAP_USER_ID=0" "-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" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] dc0d9409234a11d94b88779785abb66dfd990fa5bb315b1415ec899f54486620 [INFO] running `"docker" "start" "-a" "dc0d9409234a11d94b88779785abb66dfd990fa5bb315b1415ec899f54486620"` [INFO] [stderr] Compiling yaircc v0.0.0 [INFO] [stderr] Compiling serenity v0.6.2 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Compiling hyper v0.12.32 [INFO] [stderr] Compiling parking_lot_core v0.5.0 [INFO] [stderr] Checking want v0.2.0 [INFO] [stderr] Compiling parking_lot v0.8.0 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking atty v0.2.12 [INFO] [stderr] Checking ring v0.14.6 [INFO] [stderr] Checking backtrace-sys v0.1.30 [INFO] [stderr] Checking miniz-sys v0.1.12 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking miniz_oxide_c_api v0.2.2 [INFO] [stderr] Compiling syn v0.15.39 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking threadpool v1.7.1 [INFO] [stderr] Checking cookie v0.12.0 [INFO] [stderr] Checking backtrace v0.3.32 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking env_logger v0.6.2 [INFO] [stderr] Checking serde-hjson v0.8.2 [INFO] [stderr] Checking sha-1 v0.8.1 [INFO] [stderr] Checking flate2 v1.0.9 [INFO] [stderr] Checking tokio-io v0.1.12 [INFO] [stderr] Checking http v0.1.17 [INFO] [stderr] Checking string v0.2.1 [INFO] [stderr] Checking tokio-buf v0.1.1 [INFO] [stderr] Checking input_buffer v0.2.0 [INFO] [stderr] Checking error-chain v0.12.1 [INFO] [stderr] Checking publicsuffix v1.5.2 [INFO] [stderr] Checking tokio-codec v0.1.1 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.17 [INFO] [stderr] Checking tungstenite v0.6.1 [INFO] [stderr] Checking tokio-threadpool v0.1.15 [INFO] [stderr] Checking uuid v0.7.4 [INFO] [stderr] Checking sct v0.5.0 [INFO] [stderr] Checking webpki v0.19.1 [INFO] [stderr] Checking ct-logs v0.5.1 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Checking rustls v0.15.2 [INFO] [stderr] Checking webpki-roots v0.16.0 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Checking tokio-fs v0.1.6 [INFO] [stderr] Compiling mime_guess v2.0.0-alpha.6 [INFO] [stderr] Checking tokio-reactor v0.1.9 [INFO] [stderr] Checking h2 v0.1.25 [INFO] [stderr] Checking http-body v0.1.0 [INFO] [stderr] Compiling synstructure v0.10.2 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio-udp v0.1.3 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.17 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling serde_derive v1.0.94 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Checking tokio-rustls v0.9.3 [INFO] [stderr] Checking failure v0.1.5 [INFO] [stderr] Checking hyper-rustls v0.16.1 [INFO] [stderr] Checking serde v1.0.94 [INFO] [stderr] Checking serde_json v1.0.40 [INFO] [stderr] Checking serde_urlencoded v0.5.5 [INFO] [stderr] Checking chrono v0.4.7 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking cookie_store v0.7.0 [INFO] [stderr] Checking config v0.9.3 [INFO] [stderr] Checking reqwest v0.9.18 [INFO] [stderr] Checking discord-irc v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/main.rs:66:22 [INFO] [stderr] | [INFO] [stderr] 66 | .boxed() [INFO] [stderr] | ^^^^^ `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `core::fmt::Void`, the trait `std::marker::Sync` is not implemented for `*mut (dyn std::ops::Fn() + 'static)` [INFO] [stderr] = note: required because it appears within the type `std::marker::PhantomData<*mut (dyn std::ops::Fn() + 'static)>` [INFO] [stderr] = note: required because it appears within the type `core::fmt::Void` [INFO] [stderr] = note: required because of the requirements on the impl of `std::marker::Send` for `&core::fmt::Void` [INFO] [stderr] = note: required because it appears within the type `std::fmt::ArgumentV1<'_>` [INFO] [stderr] = note: required because it appears within the type `[std::fmt::ArgumentV1<'_>; 1]` [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37> {config::IrcConfig, yaircc::message::Message, yaircc::stream::Writer>, std::string::String, yaircc::message::Message, yaircc::code::Code, std::string::String, fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'r yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'s [&'s str], &'s [std::fmt::ArgumentV1<'s>]) -> std::fmt::Arguments<'s> {std::fmt::Arguments::<'s>::new_v1}, &'t0 str, &'t1 str, [&'t2 str; 2], &'t3 [&'t4 str], &'t5 [&'t6 str; 2], std::string::String, &'t7 std::string::String, (&'t8 std::string::String,), [std::fmt::ArgumentV1<'t9>; 1], &'t10 [std::fmt::ArgumentV1<'t11>], &'t12 [std::fmt::ArgumentV1<'t13>; 1], std::fmt::Arguments<'t14>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t17 yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'t18 [&'t18 str], &'t18 [std::fmt::ArgumentV1<'t18>]) -> std::fmt::Arguments<'t18> {std::fmt::Arguments::<'t18>::new_v1}, &'t19 str, &'t20 str, [&'t21 str; 2], &'t22 [&'t23 str], &'t24 [&'t25 str; 2], config::IrcConfig, std::string::String, &'t26 std::string::String, (&'t27 std::string::String,), [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], &'t31 [std::fmt::ArgumentV1<'t32>; 1], std::fmt::Arguments<'t33>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), yaircc::message::Message, &'t36 std::vec::Vec, std::vec::Vec, std::string::String, &'t37 std::string::String, yaircc::message::Message, std::option::Option, std::string::String, webhook::WebhookBody, fn(std::result::Result<(), failure::error::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(std::string::String, webhook::WebhookBody) -> impl core::future::future::Future {webhook::execute_webhook}, std::string::String, webhook::WebhookBody, impl core::future::future::Future, impl core::future::future::Future, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/irc.rs:17:19: 69:2 config:config::IrcConfig, msg:yaircc::message::Message, writer:yaircc::stream::Writer>, discord_webhook:std::string::String for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37> {config::IrcConfig, yaircc::message::Message, yaircc::stream::Writer>, std::string::String, yaircc::message::Message, yaircc::code::Code, std::string::String, fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'r yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'s [&'s str], &'s [std::fmt::ArgumentV1<'s>]) -> std::fmt::Arguments<'s> {std::fmt::Arguments::<'s>::new_v1}, &'t0 str, &'t1 str, [&'t2 str; 2], &'t3 [&'t4 str], &'t5 [&'t6 str; 2], std::string::String, &'t7 std::string::String, (&'t8 std::string::String,), [std::fmt::ArgumentV1<'t9>; 1], &'t10 [std::fmt::ArgumentV1<'t11>], &'t12 [std::fmt::ArgumentV1<'t13>; 1], std::fmt::Arguments<'t14>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t17 yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'t18 [&'t18 str], &'t18 [std::fmt::ArgumentV1<'t18>]) -> std::fmt::Arguments<'t18> {std::fmt::Arguments::<'t18>::new_v1}, &'t19 str, &'t20 str, [&'t21 str; 2], &'t22 [&'t23 str], &'t24 [&'t25 str; 2], config::IrcConfig, std::string::String, &'t26 std::string::String, (&'t27 std::string::String,), [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], &'t31 [std::fmt::ArgumentV1<'t32>; 1], std::fmt::Arguments<'t33>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), yaircc::message::Message, &'t36 std::vec::Vec, std::vec::Vec, std::string::String, &'t37 std::string::String, yaircc::message::Message, std::option::Option, std::string::String, webhook::WebhookBody, fn(std::result::Result<(), failure::error::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(std::string::String, webhook::WebhookBody) -> impl core::future::future::Future {webhook::execute_webhook}, std::string::String, webhook::WebhookBody, impl core::future::future::Future, impl core::future::future::Future, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/irc.rs:17:19: 69:2 config:config::IrcConfig, msg:yaircc::message::Message, writer:yaircc::stream::Writer>, discord_webhook:std::string::String for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37> {config::IrcConfig, yaircc::message::Message, yaircc::stream::Writer>, std::string::String, yaircc::message::Message, yaircc::code::Code, std::string::String, fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'r yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'s [&'s str], &'s [std::fmt::ArgumentV1<'s>]) -> std::fmt::Arguments<'s> {std::fmt::Arguments::<'s>::new_v1}, &'t0 str, &'t1 str, [&'t2 str; 2], &'t3 [&'t4 str], &'t5 [&'t6 str; 2], std::string::String, &'t7 std::string::String, (&'t8 std::string::String,), [std::fmt::ArgumentV1<'t9>; 1], &'t10 [std::fmt::ArgumentV1<'t11>], &'t12 [std::fmt::ArgumentV1<'t13>; 1], std::fmt::Arguments<'t14>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t17 yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'t18 [&'t18 str], &'t18 [std::fmt::ArgumentV1<'t18>]) -> std::fmt::Arguments<'t18> {std::fmt::Arguments::<'t18>::new_v1}, &'t19 str, &'t20 str, [&'t21 str; 2], &'t22 [&'t23 str], &'t24 [&'t25 str; 2], config::IrcConfig, std::string::String, &'t26 std::string::String, (&'t27 std::string::String,), [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], &'t31 [std::fmt::ArgumentV1<'t32>; 1], std::fmt::Arguments<'t33>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), yaircc::message::Message, &'t36 std::vec::Vec, std::vec::Vec, std::string::String, &'t37 std::string::String, yaircc::message::Message, std::option::Option, std::string::String, webhook::WebhookBody, fn(std::result::Result<(), failure::error::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(std::string::String, webhook::WebhookBody) -> impl core::future::future::Future {webhook::execute_webhook}, std::string::String, webhook::WebhookBody, impl core::future::future::Future, impl core::future::future::Future, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl core::future::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl core::future::future::Future` [INFO] [stderr] = note: required because it appears within the type `std::option::Option` [INFO] [stderr] = note: required because it appears within the type `futures_util::try_stream::and_then::AndThen>, failure::error::Error>, impl core::future::future::Future, [closure@src/main.rs:55:31: 62:22 irc:_, writer_clone:_, discord_webhook:_]>` [INFO] [stderr] = note: required because it appears within the type `futures_util::try_stream::try_collect::TryCollect>, failure::error::Error>, impl core::future::future::Future, [closure@src/main.rs:55:31: 62:22 irc:_, writer_clone:_, discord_webhook:_]>, ()>` [INFO] [stderr] = note: required because it appears within the type `futures_util::try_future::unwrap_or_else::UnwrapOrElse>, failure::error::Error>, impl core::future::future::Future, [closure@src/main.rs:55:31: 62:22 irc:_, writer_clone:_, discord_webhook:_]>, ()>, [closure@src/main.rs:64:37: 64:77]>` [INFO] [stderr] = note: required because it appears within the type `futures_util::future::map::Map>, failure::error::Error>, impl core::future::future::Future, [closure@src/main.rs:55:31: 62:22 irc:_, writer_clone:_, discord_webhook:_]>, ()>, [closure@src/main.rs:64:37: 64:77]>, [closure@src/main.rs:65:26: 65:37]>` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `discord-irc`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/main.rs:66:22 [INFO] [stderr] | [INFO] [stderr] 66 | .boxed() [INFO] [stderr] | ^^^^^ `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `core::fmt::Void`, the trait `std::marker::Sync` is not implemented for `*mut (dyn std::ops::Fn() + 'static)` [INFO] [stderr] = note: required because it appears within the type `std::marker::PhantomData<*mut (dyn std::ops::Fn() + 'static)>` [INFO] [stderr] = note: required because it appears within the type `core::fmt::Void` [INFO] [stderr] = note: required because of the requirements on the impl of `std::marker::Send` for `&core::fmt::Void` [INFO] [stderr] = note: required because it appears within the type `std::fmt::ArgumentV1<'_>` [INFO] [stderr] = note: required because it appears within the type `[std::fmt::ArgumentV1<'_>; 1]` [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37> {config::IrcConfig, yaircc::message::Message, yaircc::stream::Writer>, std::string::String, yaircc::message::Message, yaircc::code::Code, std::string::String, fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'r yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'s [&'s str], &'s [std::fmt::ArgumentV1<'s>]) -> std::fmt::Arguments<'s> {std::fmt::Arguments::<'s>::new_v1}, &'t0 str, &'t1 str, [&'t2 str; 2], &'t3 [&'t4 str], &'t5 [&'t6 str; 2], std::string::String, &'t7 std::string::String, (&'t8 std::string::String,), [std::fmt::ArgumentV1<'t9>; 1], &'t10 [std::fmt::ArgumentV1<'t11>], &'t12 [std::fmt::ArgumentV1<'t13>; 1], std::fmt::Arguments<'t14>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t17 yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'t18 [&'t18 str], &'t18 [std::fmt::ArgumentV1<'t18>]) -> std::fmt::Arguments<'t18> {std::fmt::Arguments::<'t18>::new_v1}, &'t19 str, &'t20 str, [&'t21 str; 2], &'t22 [&'t23 str], &'t24 [&'t25 str; 2], config::IrcConfig, std::string::String, &'t26 std::string::String, (&'t27 std::string::String,), [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], &'t31 [std::fmt::ArgumentV1<'t32>; 1], std::fmt::Arguments<'t33>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), yaircc::message::Message, &'t36 std::vec::Vec, std::vec::Vec, std::string::String, &'t37 std::string::String, yaircc::message::Message, std::option::Option, std::string::String, webhook::WebhookBody, fn(std::result::Result<(), failure::error::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(std::string::String, webhook::WebhookBody) -> impl core::future::future::Future {webhook::execute_webhook}, std::string::String, webhook::WebhookBody, impl core::future::future::Future, impl core::future::future::Future, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/irc.rs:17:19: 69:2 config:config::IrcConfig, msg:yaircc::message::Message, writer:yaircc::stream::Writer>, discord_webhook:std::string::String for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37> {config::IrcConfig, yaircc::message::Message, yaircc::stream::Writer>, std::string::String, yaircc::message::Message, yaircc::code::Code, std::string::String, fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'r yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'s [&'s str], &'s [std::fmt::ArgumentV1<'s>]) -> std::fmt::Arguments<'s> {std::fmt::Arguments::<'s>::new_v1}, &'t0 str, &'t1 str, [&'t2 str; 2], &'t3 [&'t4 str], &'t5 [&'t6 str; 2], std::string::String, &'t7 std::string::String, (&'t8 std::string::String,), [std::fmt::ArgumentV1<'t9>; 1], &'t10 [std::fmt::ArgumentV1<'t11>], &'t12 [std::fmt::ArgumentV1<'t13>; 1], std::fmt::Arguments<'t14>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t17 yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'t18 [&'t18 str], &'t18 [std::fmt::ArgumentV1<'t18>]) -> std::fmt::Arguments<'t18> {std::fmt::Arguments::<'t18>::new_v1}, &'t19 str, &'t20 str, [&'t21 str; 2], &'t22 [&'t23 str], &'t24 [&'t25 str; 2], config::IrcConfig, std::string::String, &'t26 std::string::String, (&'t27 std::string::String,), [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], &'t31 [std::fmt::ArgumentV1<'t32>; 1], std::fmt::Arguments<'t33>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), yaircc::message::Message, &'t36 std::vec::Vec, std::vec::Vec, std::string::String, &'t37 std::string::String, yaircc::message::Message, std::option::Option, std::string::String, webhook::WebhookBody, fn(std::result::Result<(), failure::error::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(std::string::String, webhook::WebhookBody) -> impl core::future::future::Future {webhook::execute_webhook}, std::string::String, webhook::WebhookBody, impl core::future::future::Future, impl core::future::future::Future, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/irc.rs:17:19: 69:2 config:config::IrcConfig, msg:yaircc::message::Message, writer:yaircc::stream::Writer>, discord_webhook:std::string::String for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37> {config::IrcConfig, yaircc::message::Message, yaircc::stream::Writer>, std::string::String, yaircc::message::Message, yaircc::code::Code, std::string::String, fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'r yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'s [&'s str], &'s [std::fmt::ArgumentV1<'s>]) -> std::fmt::Arguments<'s> {std::fmt::Arguments::<'s>::new_v1}, &'t0 str, &'t1 str, [&'t2 str; 2], &'t3 [&'t4 str], &'t5 [&'t6 str; 2], std::string::String, &'t7 std::string::String, (&'t8 std::string::String,), [std::fmt::ArgumentV1<'t9>; 1], &'t10 [std::fmt::ArgumentV1<'t11>], &'t12 [std::fmt::ArgumentV1<'t13>; 1], std::fmt::Arguments<'t14>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), fn(std::result::Result<(), std::io::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t17 yaircc::stream::Writer>, yaircc::stream::Writer>, for<'t38> fn(std::fmt::Arguments<'t38>) -> std::string::String {std::fmt::format}, fn(&'t18 [&'t18 str], &'t18 [std::fmt::ArgumentV1<'t18>]) -> std::fmt::Arguments<'t18> {std::fmt::Arguments::<'t18>::new_v1}, &'t19 str, &'t20 str, [&'t21 str; 2], &'t22 [&'t23 str], &'t24 [&'t25 str; 2], config::IrcConfig, std::string::String, &'t26 std::string::String, (&'t27 std::string::String,), [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], &'t31 [std::fmt::ArgumentV1<'t32>; 1], std::fmt::Arguments<'t33>, std::string::String, impl core::future::future::Future, impl core::future::future::Future, (), yaircc::message::Message, &'t36 std::vec::Vec, std::vec::Vec, std::string::String, &'t37 std::string::String, yaircc::message::Message, std::option::Option, std::string::String, webhook::WebhookBody, fn(std::result::Result<(), failure::error::Error>) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(std::string::String, webhook::WebhookBody) -> impl core::future::future::Future {webhook::execute_webhook}, std::string::String, webhook::WebhookBody, impl core::future::future::Future, impl core::future::future::Future, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl core::future::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl core::future::future::Future` [INFO] [stderr] = note: required because it appears within the type `std::option::Option` [INFO] [stderr] = note: required because it appears within the type `futures_util::try_stream::and_then::AndThen>, failure::error::Error>, impl core::future::future::Future, [closure@src/main.rs:55:31: 62:22 irc:_, writer_clone:_, discord_webhook:_]>` [INFO] [stderr] = note: required because it appears within the type `futures_util::try_stream::try_collect::TryCollect>, failure::error::Error>, impl core::future::future::Future, [closure@src/main.rs:55:31: 62:22 irc:_, writer_clone:_, discord_webhook:_]>, ()>` [INFO] [stderr] = note: required because it appears within the type `futures_util::try_future::unwrap_or_else::UnwrapOrElse>, failure::error::Error>, impl core::future::future::Future, [closure@src/main.rs:55:31: 62:22 irc:_, writer_clone:_, discord_webhook:_]>, ()>, [closure@src/main.rs:64:37: 64:77]>` [INFO] [stderr] = note: required because it appears within the type `futures_util::future::map::Map>, failure::error::Error>, impl core::future::future::Future, [closure@src/main.rs:55:31: 62:22 irc:_, writer_clone:_, discord_webhook:_]>, ()>, [closure@src/main.rs:64:37: 64:77]>, [closure@src/main.rs:65:26: 65:37]>` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `discord-irc`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "dc0d9409234a11d94b88779785abb66dfd990fa5bb315b1415ec899f54486620"` [INFO] running `"docker" "rm" "-f" "dc0d9409234a11d94b88779785abb66dfd990fa5bb315b1415ec899f54486620"` [INFO] [stdout] dc0d9409234a11d94b88779785abb66dfd990fa5bb315b1415ec899f54486620