[INFO] crate dbcrossbarlib 0.2.1 is already in cache [INFO] checking dbcrossbarlib-0.2.1 against try#00e4530a79c42b21a6ca2ac1edb597c90d21f89f for pr-64672 [INFO] extracting crate dbcrossbarlib 0.2.1 into work/builds/worker-4/source [INFO] validating manifest of crates.io crate dbcrossbarlib 0.2.1 on toolchain 00e4530a79c42b21a6ca2ac1edb597c90d21f89f [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+00e4530a79c42b21a6ca2ac1edb597c90d21f89f" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate dbcrossbarlib 0.2.1 [INFO] finished tweaking crates.io crate dbcrossbarlib 0.2.1 [INFO] tweaked toml for crates.io crate dbcrossbarlib 0.2.1 written to work/builds/worker-4/source/Cargo.toml [INFO] crate crates.io crate dbcrossbarlib 0.2.1 already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+00e4530a79c42b21a6ca2ac1edb597c90d21f89f" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [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" "+00e4530a79c42b21a6ca2ac1edb597c90d21f89f" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] eba15223bd2ba4768c216d67d4d6a3aa28b5b3eff62c44074b2ffb953109bcfc [INFO] running `"docker" "start" "-a" "eba15223bd2ba4768c216d67d4d6a3aa28b5b3eff62c44074b2ffb953109bcfc"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Checking rent_to_own v0.1.0 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Compiling openssl-sys v0.9.49 [INFO] [stderr] Compiling peg v0.5.7 [INFO] [stderr] Checking stringprep v0.1.2 [INFO] [stderr] Checking getrandom v0.1.12 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.18 [INFO] [stderr] Checking backtrace v0.3.37 [INFO] [stderr] Checking geo-types v0.4.3 [INFO] [stderr] Compiling darling_core v0.8.6 [INFO] [stderr] Compiling bigml_derive v0.2.1 [INFO] [stderr] Compiling strum_macros v0.15.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking error-chain v0.12.1 [INFO] [stderr] Checking diesel v1.4.2 [INFO] [stderr] Checking wkb v0.4.0 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking postgres-protocol v0.4.1 [INFO] [stderr] Checking publicsuffix v1.5.3 [INFO] [stderr] Checking failure v0.1.5 [INFO] [stderr] Checking bstr v0.2.8 [INFO] [stderr] Checking chrono v0.4.9 [INFO] [stderr] Checking rand v0.7.0 [INFO] [stderr] Checking crossbeam v0.7.2 [INFO] [stderr] Checking tokio-signal v0.2.7 [INFO] [stderr] Checking geojson v0.15.0 [INFO] [stderr] Compiling openssl v0.10.24 [INFO] [stderr] Compiling native-tls v0.2.3 [INFO] [stderr] Checking cookie_store v0.7.0 [INFO] [stderr] Checking csv v1.1.1 [INFO] [stderr] Checking slog-stdlog v4.0.0 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.18 [INFO] [stderr] Compiling dbcrossbarlib v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Checking slog-term v2.4.1 [INFO] [stderr] Checking tokio-process v0.2.4 [INFO] [stderr] Checking mpart-async v0.2.1 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.18 [INFO] [stderr] Checking slog-envlogger v2.2.0 [INFO] [stderr] Compiling darling_macro v0.8.6 [INFO] [stderr] Compiling darling v0.8.6 [INFO] [stderr] Checking hyper-tls v0.3.2 [INFO] [stderr] Checking tokio-tls v0.2.1 [INFO] [stderr] Compiling derive_state_machine_future v0.2.0 [INFO] [stderr] Checking reqwest v0.9.20 [INFO] [stderr] Checking bigml v0.4.0-alpha.3 [INFO] [stderr] Checking state_machine_future v0.2.0 [INFO] [stderr] Checking tokio-postgres v0.4.0-rc.3 [INFO] [stderr] Checking tokio-postgres-native-tls v0.1.0-rc.1 [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/concat.rs:181:29 [INFO] [stderr] | [INFO] [stderr] 181 | ctx.spawn_worker(worker.boxed().compat()); [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<'_>; 0]` [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> {std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, fn(tokio_sync::mpsc::bounded::Sender>, failure::error::Error) -> impl core::future::future::Future {concat::send_err}, tokio_sync::mpsc::bounded::Sender>, impl core::future::future::Future, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, fn(std::string::String) -> failure::error::Error {failure::error_message::err_msg::}, for<'t25> fn(std::fmt::Arguments<'t25>) -> std::string::String {std::fmt::format}, fn(&'t6 [&'t6 str], &'t6 [std::fmt::ArgumentV1<'t6>]) -> std::fmt::Arguments<'t6> {std::fmt::Arguments::<'t6>::new_v1}, &'t7 str, &'t8 str, [&'t9 str; 1], &'t10 [&'t11 str], &'t12 [&'t13 str; 1], [std::fmt::ArgumentV1<'t14>; 0], &'t15 [std::fmt::ArgumentV1<'t16>], &'t17 [std::fmt::ArgumentV1<'t18>; 0], std::fmt::Arguments<'t19>, std::string::String, bytes::bytes::BytesMut, for<'t25> fn(&'t25 [u8]) -> std::result::Result, failure::error::Error> {concat::csv_header_length}, &'t20 [u8], &'t21 bytes::bytes::BytesMut, std::result::Result, failure::error::Error>, usize, fn(std::result::Result>, failure::context::Context<&'t22 str>>) -> std::result::Result<>, failure::context::Context<&'t22 str>> as std::ops::Try>::Ok, >, failure::context::Context<&'t22 str>> as std::ops::Try>::Error> {>, failure::context::Context<&'t22 str>> as std::ops::Try>::into_result}, fn(bytes::bytes::BytesMut) -> std::result::Result {std::result::Result::::Ok}, std::result::Result, futures::sink::send::Send>>, futures_util::compat::compat01as03::Compat01As03>>>, fn(std::result::Result>, failure::error::Error>) -> std::result::Result<>, failure::error::Error> as std::ops::Try>::Ok, >, failure::error::Error> as std::ops::Try>::Error> {>, failure::error::Error> as std::ops::Try>::into_result}, fn(context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>, tokio_sync::mpsc::bounded::Sender>) -> impl core::future::future::Future {concat::forward_stream}, &'t23 context::Context, context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't24)>, impl core::future::future::Future}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/concat.rs:116:29: 178:6 stream:std::boxed::Box + std::marker::Send>, worker_ctx:context::Context, sender:tokio_sync::mpsc::bounded::Sender> 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> {std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, fn(tokio_sync::mpsc::bounded::Sender>, failure::error::Error) -> impl core::future::future::Future {concat::send_err}, tokio_sync::mpsc::bounded::Sender>, impl core::future::future::Future, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, fn(std::string::String) -> failure::error::Error {failure::error_message::err_msg::}, for<'t25> fn(std::fmt::Arguments<'t25>) -> std::string::String {std::fmt::format}, fn(&'t6 [&'t6 str], &'t6 [std::fmt::ArgumentV1<'t6>]) -> std::fmt::Arguments<'t6> {std::fmt::Arguments::<'t6>::new_v1}, &'t7 str, &'t8 str, [&'t9 str; 1], &'t10 [&'t11 str], &'t12 [&'t13 str; 1], [std::fmt::ArgumentV1<'t14>; 0], &'t15 [std::fmt::ArgumentV1<'t16>], &'t17 [std::fmt::ArgumentV1<'t18>; 0], std::fmt::Arguments<'t19>, std::string::String, bytes::bytes::BytesMut, for<'t25> fn(&'t25 [u8]) -> std::result::Result, failure::error::Error> {concat::csv_header_length}, &'t20 [u8], &'t21 bytes::bytes::BytesMut, std::result::Result, failure::error::Error>, usize, fn(std::result::Result>, failure::context::Context<&'t22 str>>) -> std::result::Result<>, failure::context::Context<&'t22 str>> as std::ops::Try>::Ok, >, failure::context::Context<&'t22 str>> as std::ops::Try>::Error> {>, failure::context::Context<&'t22 str>> as std::ops::Try>::into_result}, fn(bytes::bytes::BytesMut) -> std::result::Result {std::result::Result::::Ok}, std::result::Result, futures::sink::send::Send>>, futures_util::compat::compat01as03::Compat01As03>>>, fn(std::result::Result>, failure::error::Error>) -> std::result::Result<>, failure::error::Error> as std::ops::Try>::Ok, >, failure::error::Error> as std::ops::Try>::Error> {>, failure::error::Error> as std::ops::Try>::into_result}, fn(context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>, tokio_sync::mpsc::bounded::Sender>) -> impl core::future::future::Future {concat::forward_stream}, &'t23 context::Context, context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't24)>, impl core::future::future::Future}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/concat.rs:116:29: 178:6 stream:std::boxed::Box + std::marker::Send>, worker_ctx:context::Context, sender:tokio_sync::mpsc::bounded::Sender> 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> {std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, fn(tokio_sync::mpsc::bounded::Sender>, failure::error::Error) -> impl core::future::future::Future {concat::send_err}, tokio_sync::mpsc::bounded::Sender>, impl core::future::future::Future, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, fn(std::string::String) -> failure::error::Error {failure::error_message::err_msg::}, for<'t25> fn(std::fmt::Arguments<'t25>) -> std::string::String {std::fmt::format}, fn(&'t6 [&'t6 str], &'t6 [std::fmt::ArgumentV1<'t6>]) -> std::fmt::Arguments<'t6> {std::fmt::Arguments::<'t6>::new_v1}, &'t7 str, &'t8 str, [&'t9 str; 1], &'t10 [&'t11 str], &'t12 [&'t13 str; 1], [std::fmt::ArgumentV1<'t14>; 0], &'t15 [std::fmt::ArgumentV1<'t16>], &'t17 [std::fmt::ArgumentV1<'t18>; 0], std::fmt::Arguments<'t19>, std::string::String, bytes::bytes::BytesMut, for<'t25> fn(&'t25 [u8]) -> std::result::Result, failure::error::Error> {concat::csv_header_length}, &'t20 [u8], &'t21 bytes::bytes::BytesMut, std::result::Result, failure::error::Error>, usize, fn(std::result::Result>, failure::context::Context<&'t22 str>>) -> std::result::Result<>, failure::context::Context<&'t22 str>> as std::ops::Try>::Ok, >, failure::context::Context<&'t22 str>> as std::ops::Try>::Error> {>, failure::context::Context<&'t22 str>> as std::ops::Try>::into_result}, fn(bytes::bytes::BytesMut) -> std::result::Result {std::result::Result::::Ok}, std::result::Result, futures::sink::send::Send>>, futures_util::compat::compat01as03::Compat01As03>>>, fn(std::result::Result>, failure::error::Error>) -> std::result::Result<>, failure::error::Error> as std::ops::Try>::Ok, >, failure::error::Error> as std::ops::Try>::Error> {>, failure::error::Error> as std::ops::Try>::into_result}, fn(context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>, tokio_sync::mpsc::bounded::Sender>) -> impl core::future::future::Future {concat::forward_stream}, &'t23 context::Context, context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't24)>, impl core::future::future::Future}]>` [INFO] [stderr] = note: required because it appears within the type `impl core::future::future::Future` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/concat.rs:181:29 [INFO] [stderr] | [INFO] [stderr] 181 | ctx.spawn_worker(worker.boxed().compat()); [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<'_>; 0]` [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> {std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, fn(tokio_sync::mpsc::bounded::Sender>, failure::error::Error) -> impl core::future::future::Future {concat::send_err}, tokio_sync::mpsc::bounded::Sender>, impl core::future::future::Future, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, fn(std::string::String) -> failure::error::Error {failure::error_message::err_msg::}, for<'t25> fn(std::fmt::Arguments<'t25>) -> std::string::String {std::fmt::format}, fn(&'t6 [&'t6 str], &'t6 [std::fmt::ArgumentV1<'t6>]) -> std::fmt::Arguments<'t6> {std::fmt::Arguments::<'t6>::new_v1}, &'t7 str, &'t8 str, [&'t9 str; 1], &'t10 [&'t11 str], &'t12 [&'t13 str; 1], [std::fmt::ArgumentV1<'t14>; 0], &'t15 [std::fmt::ArgumentV1<'t16>], &'t17 [std::fmt::ArgumentV1<'t18>; 0], std::fmt::Arguments<'t19>, std::string::String, bytes::bytes::BytesMut, for<'t25> fn(&'t25 [u8]) -> std::result::Result, failure::error::Error> {concat::csv_header_length}, &'t20 [u8], &'t21 bytes::bytes::BytesMut, std::result::Result, failure::error::Error>, usize, fn(std::result::Result>, failure::context::Context<&'t22 str>>) -> std::result::Result<>, failure::context::Context<&'t22 str>> as std::ops::Try>::Ok, >, failure::context::Context<&'t22 str>> as std::ops::Try>::Error> {>, failure::context::Context<&'t22 str>> as std::ops::Try>::into_result}, fn(bytes::bytes::BytesMut) -> std::result::Result {std::result::Result::::Ok}, std::result::Result, futures::sink::send::Send>>, futures_util::compat::compat01as03::Compat01As03>>>, fn(std::result::Result>, failure::error::Error>) -> std::result::Result<>, failure::error::Error> as std::ops::Try>::Ok, >, failure::error::Error> as std::ops::Try>::Error> {>, failure::error::Error> as std::ops::Try>::into_result}, fn(context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>, tokio_sync::mpsc::bounded::Sender>) -> impl core::future::future::Future {concat::forward_stream}, &'t23 context::Context, context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't24)>, impl core::future::future::Future}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/concat.rs:116:29: 178:6 stream:std::boxed::Box + std::marker::Send>, worker_ctx:context::Context, sender:tokio_sync::mpsc::bounded::Sender> 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> {std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, fn(tokio_sync::mpsc::bounded::Sender>, failure::error::Error) -> impl core::future::future::Future {concat::send_err}, tokio_sync::mpsc::bounded::Sender>, impl core::future::future::Future, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, fn(std::string::String) -> failure::error::Error {failure::error_message::err_msg::}, for<'t25> fn(std::fmt::Arguments<'t25>) -> std::string::String {std::fmt::format}, fn(&'t6 [&'t6 str], &'t6 [std::fmt::ArgumentV1<'t6>]) -> std::fmt::Arguments<'t6> {std::fmt::Arguments::<'t6>::new_v1}, &'t7 str, &'t8 str, [&'t9 str; 1], &'t10 [&'t11 str], &'t12 [&'t13 str; 1], [std::fmt::ArgumentV1<'t14>; 0], &'t15 [std::fmt::ArgumentV1<'t16>], &'t17 [std::fmt::ArgumentV1<'t18>; 0], std::fmt::Arguments<'t19>, std::string::String, bytes::bytes::BytesMut, for<'t25> fn(&'t25 [u8]) -> std::result::Result, failure::error::Error> {concat::csv_header_length}, &'t20 [u8], &'t21 bytes::bytes::BytesMut, std::result::Result, failure::error::Error>, usize, fn(std::result::Result>, failure::context::Context<&'t22 str>>) -> std::result::Result<>, failure::context::Context<&'t22 str>> as std::ops::Try>::Ok, >, failure::context::Context<&'t22 str>> as std::ops::Try>::Error> {>, failure::context::Context<&'t22 str>> as std::ops::Try>::into_result}, fn(bytes::bytes::BytesMut) -> std::result::Result {std::result::Result::::Ok}, std::result::Result, futures::sink::send::Send>>, futures_util::compat::compat01as03::Compat01As03>>>, fn(std::result::Result>, failure::error::Error>) -> std::result::Result<>, failure::error::Error> as std::ops::Try>::Ok, >, failure::error::Error> as std::ops::Try>::Error> {>, failure::error::Error> as std::ops::Try>::into_result}, fn(context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>, tokio_sync::mpsc::bounded::Sender>) -> impl core::future::future::Future {concat::forward_stream}, &'t23 context::Context, context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't24)>, impl core::future::future::Future}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/concat.rs:116:29: 178:6 stream:std::boxed::Box + std::marker::Send>, worker_ctx:context::Context, sender:tokio_sync::mpsc::bounded::Sender> 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> {std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, fn(tokio_sync::mpsc::bounded::Sender>, failure::error::Error) -> impl core::future::future::Future {concat::send_err}, tokio_sync::mpsc::bounded::Sender>, impl core::future::future::Future, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, fn(std::string::String) -> failure::error::Error {failure::error_message::err_msg::}, for<'t25> fn(std::fmt::Arguments<'t25>) -> std::string::String {std::fmt::format}, fn(&'t6 [&'t6 str], &'t6 [std::fmt::ArgumentV1<'t6>]) -> std::fmt::Arguments<'t6> {std::fmt::Arguments::<'t6>::new_v1}, &'t7 str, &'t8 str, [&'t9 str; 1], &'t10 [&'t11 str], &'t12 [&'t13 str; 1], [std::fmt::ArgumentV1<'t14>; 0], &'t15 [std::fmt::ArgumentV1<'t16>], &'t17 [std::fmt::ArgumentV1<'t18>; 0], std::fmt::Arguments<'t19>, std::string::String, bytes::bytes::BytesMut, for<'t25> fn(&'t25 [u8]) -> std::result::Result, failure::error::Error> {concat::csv_header_length}, &'t20 [u8], &'t21 bytes::bytes::BytesMut, std::result::Result, failure::error::Error>, usize, fn(std::result::Result>, failure::context::Context<&'t22 str>>) -> std::result::Result<>, failure::context::Context<&'t22 str>> as std::ops::Try>::Ok, >, failure::context::Context<&'t22 str>> as std::ops::Try>::Error> {>, failure::context::Context<&'t22 str>> as std::ops::Try>::into_result}, fn(bytes::bytes::BytesMut) -> std::result::Result {std::result::Result::::Ok}, std::result::Result, futures::sink::send::Send>>, futures_util::compat::compat01as03::Compat01As03>>>, fn(std::result::Result>, failure::error::Error>) -> std::result::Result<>, failure::error::Error> as std::ops::Try>::Ok, >, failure::error::Error> as std::ops::Try>::Error> {>, failure::error::Error> as std::ops::Try>::into_result}, fn(context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>, tokio_sync::mpsc::bounded::Sender>) -> impl core::future::future::Future {concat::forward_stream}, &'t23 context::Context, context::Context, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't24)>, impl core::future::future::Future}]>` [INFO] [stderr] = note: required because it appears within the type `impl core::future::future::Future` [INFO] [stderr] [INFO] [stderr] error[E0277]: `dyn tokio_postgres::types::ToSql` cannot be shared between threads safely [INFO] [stderr] --> src/drivers/postgres/write_local_data.rs:212:31 [INFO] [stderr] | [INFO] [stderr] 212 | Ok(box_stream_once(Ok(fut.boxed()))) [INFO] [stderr] | ^^^^^ `dyn tokio_postgres::types::ToSql` cannot be shared between threads safely [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::marker::Sync` is not implemented for `dyn tokio_postgres::types::ToSql` [INFO] [stderr] = note: required because of the requirements on the impl of `std::marker::Send` for `&dyn tokio_postgres::types::ToSql` [INFO] [stderr] = note: required because it appears within the type `[&dyn tokio_postgres::types::ToSql; 0]` [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> {context::Context, url::Url, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(context::Context, url::Url) -> impl core::future::future::Future {drivers::postgres::connect}, &'s context::Context, impl core::future::future::Future, (), tokio_postgres::Client, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t0 mut tokio_postgres::Client, &'t1 str, &'t2 std::string::String, tokio_postgres::impls::Prepare, futures_util::compat::compat01as03::Compat01As03, tokio_postgres::Statement, fn(std::result::Result>) -> std::result::Result<> as std::ops::Try>::Ok, > as std::ops::Try>::Error> {> as std::ops::Try>::into_result}, &'t3 mut tokio_postgres::Client, &'t4 tokio_postgres::Statement, &'t5 tokio_postgres::Statement, [&'t6 (dyn tokio_postgres::types::ToSql + 't7); 0], &'t8 [&'t9 (dyn tokio_postgres::types::ToSql + 't10)], &'t11 [&'t12 (dyn tokio_postgres::types::ToSql + 't13); 0], tokio_postgres::impls::CopyIn + std::marker::Send + 't14)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't15)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't16)>>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/drivers/postgres/write_local_data.rs:117:17: 127:2 ctx:context::Context, url:url::Url, table_name:std::string::String, copy_from_sql:std::string::String, stream:std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)> for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16> {context::Context, url::Url, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(context::Context, url::Url) -> impl core::future::future::Future {drivers::postgres::connect}, &'s context::Context, impl core::future::future::Future, (), tokio_postgres::Client, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t0 mut tokio_postgres::Client, &'t1 str, &'t2 std::string::String, tokio_postgres::impls::Prepare, futures_util::compat::compat01as03::Compat01As03, tokio_postgres::Statement, fn(std::result::Result>) -> std::result::Result<> as std::ops::Try>::Ok, > as std::ops::Try>::Error> {> as std::ops::Try>::into_result}, &'t3 mut tokio_postgres::Client, &'t4 tokio_postgres::Statement, &'t5 tokio_postgres::Statement, [&'t6 (dyn tokio_postgres::types::ToSql + 't7); 0], &'t8 [&'t9 (dyn tokio_postgres::types::ToSql + 't10)], &'t11 [&'t12 (dyn tokio_postgres::types::ToSql + 't13); 0], tokio_postgres::impls::CopyIn + std::marker::Send + 't14)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't15)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't16)>>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/drivers/postgres/write_local_data.rs:117:17: 127:2 ctx:context::Context, url:url::Url, table_name:std::string::String, copy_from_sql:std::string::String, stream:std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)> for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16> {context::Context, url::Url, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(context::Context, url::Url) -> impl core::future::future::Future {drivers::postgres::connect}, &'s context::Context, impl core::future::future::Future, (), tokio_postgres::Client, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t0 mut tokio_postgres::Client, &'t1 str, &'t2 std::string::String, tokio_postgres::impls::Prepare, futures_util::compat::compat01as03::Compat01As03, tokio_postgres::Statement, fn(std::result::Result>) -> std::result::Result<> as std::ops::Try>::Ok, > as std::ops::Try>::Error> {> as std::ops::Try>::into_result}, &'t3 mut tokio_postgres::Client, &'t4 tokio_postgres::Statement, &'t5 tokio_postgres::Statement, [&'t6 (dyn tokio_postgres::types::ToSql + 't7); 0], &'t8 [&'t9 (dyn tokio_postgres::types::ToSql + 't10)], &'t11 [&'t12 (dyn tokio_postgres::types::ToSql + 't13); 0], tokio_postgres::impls::CopyIn + std::marker::Send + 't14)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't15)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't16)>>>}]>` [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 `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, csv_stream::CsvStream, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, context::Context, drivers::postgres_shared::table::PgCreateTable, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, 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(context::Context, url::Url, std::string::String, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>) -> impl core::future::future::Future {drivers::postgres::write_local_data::copy_from_async}, &'t6 url::Url, url::Url, &'t7 std::string::String, std::string::String, &'t8 std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't9)>, impl core::future::future::Future}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/drivers/postgres/write_local_data.rs:173:26: 211:6 data:std::boxed::Box + std::marker::Send>, ctx:context::Context, dest:drivers::postgres::PostgresLocator, pg_create_table:drivers::postgres_shared::table::PgCreateTable, url:url::Url, table_name:std::string::String, copy_sql:std::string::String for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, csv_stream::CsvStream, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, context::Context, drivers::postgres_shared::table::PgCreateTable, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, 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(context::Context, url::Url, std::string::String, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>) -> impl core::future::future::Future {drivers::postgres::write_local_data::copy_from_async}, &'t6 url::Url, url::Url, &'t7 std::string::String, std::string::String, &'t8 std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't9)>, impl core::future::future::Future}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/drivers/postgres/write_local_data.rs:173:26: 211:6 data:std::boxed::Box + std::marker::Send>, ctx:context::Context, dest:drivers::postgres::PostgresLocator, pg_create_table:drivers::postgres_shared::table::PgCreateTable, url:url::Url, table_name:std::string::String, copy_sql:std::string::String for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, csv_stream::CsvStream, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, context::Context, drivers::postgres_shared::table::PgCreateTable, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, 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(context::Context, url::Url, std::string::String, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>) -> impl core::future::future::Future {drivers::postgres::write_local_data::copy_from_async}, &'t6 url::Url, url::Url, &'t7 std::string::String, std::string::String, &'t8 std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't9)>, impl core::future::future::Future}]>` [INFO] [stderr] = note: required because it appears within the type `impl core::future::future::Future` [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error[E0277]: `dyn tokio_postgres::types::ToSql` cannot be shared between threads safely [INFO] [stderr] --> src/drivers/postgres/write_local_data.rs:212:31 [INFO] [stderr] | [INFO] [stderr] 212 | Ok(box_stream_once(Ok(fut.boxed()))) [INFO] [stderr] | ^^^^^ `dyn tokio_postgres::types::ToSql` cannot be shared between threads safely [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::marker::Sync` is not implemented for `dyn tokio_postgres::types::ToSql` [INFO] [stderr] = note: required because of the requirements on the impl of `std::marker::Send` for `&dyn tokio_postgres::types::ToSql` [INFO] [stderr] = note: required because it appears within the type `[&dyn tokio_postgres::types::ToSql; 0]` [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> {context::Context, url::Url, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(context::Context, url::Url) -> impl core::future::future::Future {drivers::postgres::connect}, &'s context::Context, impl core::future::future::Future, (), tokio_postgres::Client, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t0 mut tokio_postgres::Client, &'t1 str, &'t2 std::string::String, tokio_postgres::impls::Prepare, futures_util::compat::compat01as03::Compat01As03, tokio_postgres::Statement, fn(std::result::Result>) -> std::result::Result<> as std::ops::Try>::Ok, > as std::ops::Try>::Error> {> as std::ops::Try>::into_result}, &'t3 mut tokio_postgres::Client, &'t4 tokio_postgres::Statement, &'t5 tokio_postgres::Statement, [&'t6 (dyn tokio_postgres::types::ToSql + 't7); 0], &'t8 [&'t9 (dyn tokio_postgres::types::ToSql + 't10)], &'t11 [&'t12 (dyn tokio_postgres::types::ToSql + 't13); 0], tokio_postgres::impls::CopyIn + std::marker::Send + 't14)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't15)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't16)>>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/drivers/postgres/write_local_data.rs:117:17: 127:2 ctx:context::Context, url:url::Url, table_name:std::string::String, copy_from_sql:std::string::String, stream:std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)> for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16> {context::Context, url::Url, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(context::Context, url::Url) -> impl core::future::future::Future {drivers::postgres::connect}, &'s context::Context, impl core::future::future::Future, (), tokio_postgres::Client, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t0 mut tokio_postgres::Client, &'t1 str, &'t2 std::string::String, tokio_postgres::impls::Prepare, futures_util::compat::compat01as03::Compat01As03, tokio_postgres::Statement, fn(std::result::Result>) -> std::result::Result<> as std::ops::Try>::Ok, > as std::ops::Try>::Error> {> as std::ops::Try>::into_result}, &'t3 mut tokio_postgres::Client, &'t4 tokio_postgres::Statement, &'t5 tokio_postgres::Statement, [&'t6 (dyn tokio_postgres::types::ToSql + 't7); 0], &'t8 [&'t9 (dyn tokio_postgres::types::ToSql + 't10)], &'t11 [&'t12 (dyn tokio_postgres::types::ToSql + 't13); 0], tokio_postgres::impls::CopyIn + std::marker::Send + 't14)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't15)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't16)>>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/drivers/postgres/write_local_data.rs:117:17: 127:2 ctx:context::Context, url:url::Url, table_name:std::string::String, copy_from_sql:std::string::String, stream:std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)> for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16> {context::Context, url::Url, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, fn(context::Context, url::Url) -> impl core::future::future::Future {drivers::postgres::connect}, &'s context::Context, impl core::future::future::Future, (), tokio_postgres::Client, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t0 mut tokio_postgres::Client, &'t1 str, &'t2 std::string::String, tokio_postgres::impls::Prepare, futures_util::compat::compat01as03::Compat01As03, tokio_postgres::Statement, fn(std::result::Result>) -> std::result::Result<> as std::ops::Try>::Ok, > as std::ops::Try>::Error> {> as std::ops::Try>::into_result}, &'t3 mut tokio_postgres::Client, &'t4 tokio_postgres::Statement, &'t5 tokio_postgres::Statement, [&'t6 (dyn tokio_postgres::types::ToSql + 't7); 0], &'t8 [&'t9 (dyn tokio_postgres::types::ToSql + 't10)], &'t11 [&'t12 (dyn tokio_postgres::types::ToSql + 't13); 0], tokio_postgres::impls::CopyIn + std::marker::Send + 't14)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't15)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't16)>>>}]>` [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 `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, csv_stream::CsvStream, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, context::Context, drivers::postgres_shared::table::PgCreateTable, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, 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(context::Context, url::Url, std::string::String, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>) -> impl core::future::future::Future {drivers::postgres::write_local_data::copy_from_async}, &'t6 url::Url, url::Url, &'t7 std::string::String, std::string::String, &'t8 std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't9)>, impl core::future::future::Future}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/drivers/postgres/write_local_data.rs:173:26: 211:6 data:std::boxed::Box + std::marker::Send>, ctx:context::Context, dest:drivers::postgres::PostgresLocator, pg_create_table:drivers::postgres_shared::table::PgCreateTable, url:url::Url, table_name:std::string::String, copy_sql:std::string::String for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, csv_stream::CsvStream, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, context::Context, drivers::postgres_shared::table::PgCreateTable, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, 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(context::Context, url::Url, std::string::String, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>) -> impl core::future::future::Future {drivers::postgres::write_local_data::copy_from_async}, &'t6 url::Url, url::Url, &'t7 std::string::String, std::string::String, &'t8 std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't9)>, impl core::future::future::Future}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/drivers/postgres/write_local_data.rs:173:26: 211:6 data:std::boxed::Box + std::marker::Send>, ctx:context::Context, dest:drivers::postgres::PostgresLocator, pg_create_table:drivers::postgres_shared::table::PgCreateTable, url:url::Url, table_name:std::string::String, copy_sql:std::string::String for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'r)>, futures::stream::future::StreamFuture + std::marker::Send + 's)>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't0)>>>, futures_util::compat::compat01as03::Compat01As03 + std::marker::Send + 't1)>>>, (), std::result::Result<(std::option::Option, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't2)>), (failure::error::Error, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't3)>)>, csv_stream::CsvStream, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't4)>, context::Context, drivers::postgres_shared::table::PgCreateTable, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't5)>, 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(context::Context, url::Url, std::string::String, std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 'static)>) -> impl core::future::future::Future {drivers::postgres::write_local_data::copy_from_async}, &'t6 url::Url, url::Url, &'t7 std::string::String, std::string::String, &'t8 std::string::String, std::boxed::Box<(dyn futures::stream::Stream + std::marker::Send + 't9)>, impl core::future::future::Future}]>` [INFO] [stderr] = note: required because it appears within the type `impl core::future::future::Future` [INFO] [stderr] [INFO] [stderr] error: could not compile `dbcrossbarlib`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `dbcrossbarlib`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "eba15223bd2ba4768c216d67d4d6a3aa28b5b3eff62c44074b2ffb953109bcfc"` [INFO] running `"docker" "rm" "-f" "eba15223bd2ba4768c216d67d4d6a3aa28b5b3eff62c44074b2ffb953109bcfc"` [INFO] [stdout] eba15223bd2ba4768c216d67d4d6a3aa28b5b3eff62c44074b2ffb953109bcfc