Created
October 17, 2019 08:52
-
-
Save pimeys/102281d868c25cd64c8d7b99f9821e82 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
error: ambiguous `+` in a type | |
--> src/connector/postgres/conversion.rs:19:14 | |
| | |
19 | ) -> Vec<&'a dyn tokio_postgres::types::ToSql + Sync> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use parentheses to disambiguate: `(dyn tokio_postgres::types::ToSql + Sync)` | |
error[E0277]: `dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send` cannot be shared between threads safely | |
--> src/connector/postgres.rs:247:9 | |
| | |
247 | metrics::query("postgres.execute", &sql, ¶ms, || { | |
| ^^^^^^^^^^^^^^ `dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send` cannot be shared between threads safely | |
| | |
::: src/connector/metrics.rs:4:15 | |
| | |
4 | pub(crate) fn query<'a, F, T, U>( | |
| ----- | |
... | |
12 | U: Future<Output = crate::Result<T>> + Send + Sync, | |
| ---- required by this bound in `connector::metrics::query` | |
| | |
= help: the trait `std::marker::Sync` is not implemented for `dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send` | |
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send>` | |
= note: required because it appears within the type `std::boxed::Box<dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send>` | |
= note: required because it appears within the type `std::pin::Pin<std::boxed::Box<dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send>>` | |
= 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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46> {&'r std::sync::Arc<tokio_postgres::client::InnerClient>, u32, fn(std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>) -> impl core::future::future::Future {tokio_postgres::prepare::typeinfo_statement}, &'s std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, (), tokio_postgres::statement::Statement, fn(std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&tokio_postgres::client::InnerClient, tokio_postgres::statement::Statement, impl std::iter::ExactSizeIterator) -> impl core::future::future::Future {tokio_postgres::query::query::<'t2, impl std::iter::ExactSizeIterator>}, &'t4 tokio_postgres::client::InnerClient, for<'a> fn(&'a [&'a (dyn postgres_types::ToSql + std::marker::Sync + 'a)]) -> impl std::iter::ExactSizeIterator {tokio_postgres::slice_iter}, &'t5 (dyn postgres_types::ToSql + std::marker::Sync + 't6), &'t7 u32, [&'t8 (dyn postgres_types::ToSql + std::marker::Sync + 't9); 1], &'t10 [&'t11 (dyn postgres_types::ToSql + std::marker::Sync + 't12)], &'t13 [&'t14 (dyn postgres_types::ToSql + std::marker::Sync + 't15); 1], impl std::iter::ExactSizeIterator, impl core::future::future::Future, impl core::future::future::Future, tokio_postgres::query::RowStream, std::pin::Pin<&'t25 mut tokio_postgres::query::RowStream>, fn(std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t26 mut std::pin::Pin<&'t27 mut tokio_postgres::query::RowStream>, futures_util::try_stream::try_next::TryNext<'t28, std::pin::Pin<&'t29 mut tokio_postgres::query::RowStream>>, futures_util::try_stream::try_next::TryNext<'t30, std::pin::Pin<&'t31 mut tokio_postgres::query::RowStream>>, tokio_postgres::row::Row, std::string::String, i8, std::option::Option<u32>, bool, fn(std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_enum_variants}, &'t32 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, fn(std::result::Result<postgres_types::Type, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'a> fn(&'a std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 'a)>> {tokio_postgres::prepare::get_type_rec}, &'t35 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't36)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't37)>>, &'t38 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't39)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't40)>>, fn(std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_composite_fields}, &'t41 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, &'t44 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't45)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't46)>>}` | |
= note: required because it appears within the type `[static generator@DefId(45:1213 ~ tokio_postgres[8858]::prepare[0]::get_type[0]::{{closure}}[0]) 0:&std::sync::Arc<tokio_postgres::client::InnerClient>, 1:u32 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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46> {&'r std::sync::Arc<tokio_postgres::client::InnerClient>, u32, fn(std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>) -> impl core::future::future::Future {tokio_postgres::prepare::typeinfo_statement}, &'s std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, (), tokio_postgres::statement::Statement, fn(std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&tokio_postgres::client::InnerClient, tokio_postgres::statement::Statement, impl std::iter::ExactSizeIterator) -> impl core::future::future::Future {tokio_postgres::query::query::<'t2, impl std::iter::ExactSizeIterator>}, &'t4 tokio_postgres::client::InnerClient, for<'a> fn(&'a [&'a (dyn postgres_types::ToSql + std::marker::Sync + 'a)]) -> impl std::iter::ExactSizeIterator {tokio_postgres::slice_iter}, &'t5 (dyn postgres_types::ToSql + std::marker::Sync + 't6), &'t7 u32, [&'t8 (dyn postgres_types::ToSql + std::marker::Sync + 't9); 1], &'t10 [&'t11 (dyn postgres_types::ToSql + std::marker::Sync + 't12)], &'t13 [&'t14 (dyn postgres_types::ToSql + std::marker::Sync + 't15); 1], impl std::iter::ExactSizeIterator, impl core::future::future::Future, impl core::future::future::Future, tokio_postgres::query::RowStream, std::pin::Pin<&'t25 mut tokio_postgres::query::RowStream>, fn(std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t26 mut std::pin::Pin<&'t27 mut tokio_postgres::query::RowStream>, futures_util::try_stream::try_next::TryNext<'t28, std::pin::Pin<&'t29 mut tokio_postgres::query::RowStream>>, futures_util::try_stream::try_next::TryNext<'t30, std::pin::Pin<&'t31 mut tokio_postgres::query::RowStream>>, tokio_postgres::row::Row, std::string::String, i8, std::option::Option<u32>, bool, fn(std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_enum_variants}, &'t32 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, fn(std::result::Result<postgres_types::Type, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'a> fn(&'a std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 'a)>> {tokio_postgres::prepare::get_type_rec}, &'t35 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't36)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't37)>>, &'t38 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't39)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't40)>>, fn(std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_composite_fields}, &'t41 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, &'t44 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't45)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't46)>>}]` | |
= note: required because it appears within the type `std::future::GenFuture<[static generator@DefId(45:1213 ~ tokio_postgres[8858]::prepare[0]::get_type[0]::{{closure}}[0]) 0:&std::sync::Arc<tokio_postgres::client::InnerClient>, 1:u32 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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46> {&'r std::sync::Arc<tokio_postgres::client::InnerClient>, u32, fn(std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<tokio_postgres::statement::Statement, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>) -> impl core::future::future::Future {tokio_postgres::prepare::typeinfo_statement}, &'s std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, (), tokio_postgres::statement::Statement, fn(std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<tokio_postgres::query::RowStream, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&tokio_postgres::client::InnerClient, tokio_postgres::statement::Statement, impl std::iter::ExactSizeIterator) -> impl core::future::future::Future {tokio_postgres::query::query::<'t2, impl std::iter::ExactSizeIterator>}, &'t4 tokio_postgres::client::InnerClient, for<'a> fn(&'a [&'a (dyn postgres_types::ToSql + std::marker::Sync + 'a)]) -> impl std::iter::ExactSizeIterator {tokio_postgres::slice_iter}, &'t5 (dyn postgres_types::ToSql + std::marker::Sync + 't6), &'t7 u32, [&'t8 (dyn postgres_types::ToSql + std::marker::Sync + 't9); 1], &'t10 [&'t11 (dyn postgres_types::ToSql + std::marker::Sync + 't12)], &'t13 [&'t14 (dyn postgres_types::ToSql + std::marker::Sync + 't15); 1], impl std::iter::ExactSizeIterator, impl core::future::future::Future, impl core::future::future::Future, tokio_postgres::query::RowStream, std::pin::Pin<&'t25 mut tokio_postgres::query::RowStream>, fn(std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<tokio_postgres::row::Row>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t26 mut std::pin::Pin<&'t27 mut tokio_postgres::query::RowStream>, futures_util::try_stream::try_next::TryNext<'t28, std::pin::Pin<&'t29 mut tokio_postgres::query::RowStream>>, futures_util::try_stream::try_next::TryNext<'t30, std::pin::Pin<&'t31 mut tokio_postgres::query::RowStream>>, tokio_postgres::row::Row, std::string::String, i8, std::option::Option<u32>, bool, fn(std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::vec::Vec<std::string::String>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_enum_variants}, &'t32 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, fn(std::result::Result<postgres_types::Type, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'a> fn(&'a std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 'a)>> {tokio_postgres::prepare::get_type_rec}, &'t35 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't36)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't37)>>, &'t38 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't39)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't40)>>, fn(std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::vec::Vec<postgres_types::Field>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_composite_fields}, &'t41 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, &'t44 std::sync::Arc<tokio_postgres::client::InnerClient>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't45)>>, std::pin::Pin<std::boxed::Box<(dyn core::future::future::Future<Output = std::result::Result<postgres_types::Type, tokio_postgres::error::Error>> + std::marker::Send + 't46)>>}]>` | |
= note: required because it appears within the type `impl core::future::future::Future` | |
= note: required because it appears within the type `impl core::future::future::Future` | |
= 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> {&'r std::sync::Arc<tokio_postgres::client::InnerClient>, &'s str, &'t0 [postgres_types::Type], std::string::String, bytes::bytes::Bytes, tokio_postgres::client::Responses, fn(std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t1 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, (), &'t4 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, postgres_protocol::message::backend::ParameterDescriptionBody, &'t7 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, std::option::Option<postgres_protocol::message::backend::RowDescriptionBody>, std::vec::Vec<postgres_types::Type>, postgres_protocol::message::backend::Parameters<'t10>, fn(std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t11 mut postgres_protocol::message::backend::Parameters<'t12>, std::result::Result<std::option::Option<u32>, std::io::Error>, fn(std::io::Error) -> tokio_postgres::error::Error {tokio_postgres::error::Error::parse}, std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error>, std::option::Option<u32>, u32, fn(std::result::Result<postgres_types::Type, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_type}, &'t13 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t14 &'t15 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, std::vec::Vec<tokio_postgres::statement::Column>, postgres_protocol::message::backend::RowDescriptionBody, postgres_protocol::message::backend::Fields<'t18>, fn(std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t20 mut postgres_protocol::message::backend::Fields<'t21>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t22>>, std::io::Error>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t23>>, tokio_postgres::error::Error>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t24>>, tokio_postgres::error::Error>, std::option::Option<postgres_protocol::message::backend::Field<'t25>>, postgres_protocol::message::backend::Field<'t26>, &'t27 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t28 &'t29 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t30 postgres_protocol::message::backend::Field<'t31>, impl core::future::future::Future, impl core::future::future::Future}` | |
= note: required because it appears within the type `[static generator@DefId(45:1206 ~ tokio_postgres[8858]::prepare[0]::prepare[0]::{{closure}}[0]) 0:&std::sync::Arc<tokio_postgres::client::InnerClient>, 1:&str, 2:&[postgres_types::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> {&'r std::sync::Arc<tokio_postgres::client::InnerClient>, &'s str, &'t0 [postgres_types::Type], std::string::String, bytes::bytes::Bytes, tokio_postgres::client::Responses, fn(std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t1 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, (), &'t4 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, postgres_protocol::message::backend::ParameterDescriptionBody, &'t7 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, std::option::Option<postgres_protocol::message::backend::RowDescriptionBody>, std::vec::Vec<postgres_types::Type>, postgres_protocol::message::backend::Parameters<'t10>, fn(std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t11 mut postgres_protocol::message::backend::Parameters<'t12>, std::result::Result<std::option::Option<u32>, std::io::Error>, fn(std::io::Error) -> tokio_postgres::error::Error {tokio_postgres::error::Error::parse}, std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error>, std::option::Option<u32>, u32, fn(std::result::Result<postgres_types::Type, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_type}, &'t13 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t14 &'t15 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, std::vec::Vec<tokio_postgres::statement::Column>, postgres_protocol::message::backend::RowDescriptionBody, postgres_protocol::message::backend::Fields<'t18>, fn(std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t20 mut postgres_protocol::message::backend::Fields<'t21>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t22>>, std::io::Error>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t23>>, tokio_postgres::error::Error>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t24>>, tokio_postgres::error::Error>, std::option::Option<postgres_protocol::message::backend::Field<'t25>>, postgres_protocol::message::backend::Field<'t26>, &'t27 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t28 &'t29 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t30 postgres_protocol::message::backend::Field<'t31>, impl core::future::future::Future, impl core::future::future::Future}]` | |
= note: required because it appears within the type `std::future::GenFuture<[static generator@DefId(45:1206 ~ tokio_postgres[8858]::prepare[0]::prepare[0]::{{closure}}[0]) 0:&std::sync::Arc<tokio_postgres::client::InnerClient>, 1:&str, 2:&[postgres_types::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> {&'r std::sync::Arc<tokio_postgres::client::InnerClient>, &'s str, &'t0 [postgres_types::Type], std::string::String, bytes::bytes::Bytes, tokio_postgres::client::Responses, fn(std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_protocol::message::backend::Message, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t1 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, (), &'t4 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, postgres_protocol::message::backend::ParameterDescriptionBody, &'t7 mut tokio_postgres::client::Responses, impl core::future::future::Future, impl core::future::future::Future, std::option::Option<postgres_protocol::message::backend::RowDescriptionBody>, std::vec::Vec<postgres_types::Type>, postgres_protocol::message::backend::Parameters<'t10>, fn(std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t11 mut postgres_protocol::message::backend::Parameters<'t12>, std::result::Result<std::option::Option<u32>, std::io::Error>, fn(std::io::Error) -> tokio_postgres::error::Error {tokio_postgres::error::Error::parse}, std::result::Result<std::option::Option<u32>, tokio_postgres::error::Error>, std::option::Option<u32>, u32, fn(std::result::Result<postgres_types::Type, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<postgres_types::Type, tokio_postgres::error::Error> as std::ops::Try>::into_result}, for<'_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, u32) -> impl core::future::future::Future {tokio_postgres::prepare::get_type}, &'t13 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t14 &'t15 std::sync::Arc<tokio_postgres::client::InnerClient>, impl core::future::future::Future, impl core::future::future::Future, std::vec::Vec<tokio_postgres::statement::Column>, postgres_protocol::message::backend::RowDescriptionBody, postgres_protocol::message::backend::Fields<'t18>, fn(std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error>) -> std::result::Result<<std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::Ok, <std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::Error> {<std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t19>>, tokio_postgres::error::Error> as std::ops::Try>::into_result}, &'t20 mut postgres_protocol::message::backend::Fields<'t21>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t22>>, std::io::Error>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t23>>, tokio_postgres::error::Error>, std::result::Result<std::option::Option<postgres_protocol::message::backend::Field<'t24>>, tokio_postgres::error::Error>, std::option::Option<postgres_protocol::message::backend::Field<'t25>>, postgres_protocol::message::backend::Field<'t26>, &'t27 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t28 &'t29 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t30 postgres_protocol::message::backend::Field<'t31>, impl core::future::future::Future, impl core::future::future::Future}]>` | |
= note: required because it appears within the type `impl core::future::future::Future` | |
= note: required because it appears within the type `impl core::future::future::Future` | |
= note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> {&'r tokio_postgres::client::Client, &'s str, &'t0 [postgres_types::Type], for<'_, '_, '_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, &str, &[postgres_types::Type]) -> impl core::future::future::Future {tokio_postgres::prepare::prepare}, tokio_postgres::client::Client, std::sync::Arc<tokio_postgres::client::InnerClient>, &'t1 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t2 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t3 str, &'t4 [postgres_types::Type], impl core::future::future::Future, ()}` | |
= note: required because it appears within the type `[static generator@DefId(45:197 ~ tokio_postgres[8858]::client[0]::{{impl}}[2]::prepare_typed[0]::{{closure}}[0]) 0:&tokio_postgres::client::Client, 1:&str, 2:&[postgres_types::Type] for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> {&'r tokio_postgres::client::Client, &'s str, &'t0 [postgres_types::Type], for<'_, '_, '_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, &str, &[postgres_types::Type]) -> impl core::future::future::Future {tokio_postgres::prepare::prepare}, tokio_postgres::client::Client, std::sync::Arc<tokio_postgres::client::InnerClient>, &'t1 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t2 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t3 str, &'t4 [postgres_types::Type], impl core::future::future::Future, ()}]` | |
= note: required because it appears within the type `std::future::GenFuture<[static generator@DefId(45:197 ~ tokio_postgres[8858]::client[0]::{{impl}}[2]::prepare_typed[0]::{{closure}}[0]) 0:&tokio_postgres::client::Client, 1:&str, 2:&[postgres_types::Type] for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> {&'r tokio_postgres::client::Client, &'s str, &'t0 [postgres_types::Type], for<'_, '_, '_> fn(&std::sync::Arc<tokio_postgres::client::InnerClient>, &str, &[postgres_types::Type]) -> impl core::future::future::Future {tokio_postgres::prepare::prepare}, tokio_postgres::client::Client, std::sync::Arc<tokio_postgres::client::InnerClient>, &'t1 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t2 std::sync::Arc<tokio_postgres::client::InnerClient>, &'t3 str, &'t4 [postgres_types::Type], impl core::future::future::Future, ()}]>` | |
= note: required because it appears within the type `impl core::future::future::Future` | |
[Finished running. Exit status: 0] | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment