[INFO] crate zju-jw-scraper 0.1.0 is already in cache [INFO] checking zju-jw-scraper-0.1.0 against master#c9edc02e8320a9e5799d185910ece7d491f524e6 for pr-64398 [INFO] extracting crate zju-jw-scraper 0.1.0 into work/builds/worker-2/source [INFO] validating manifest of crates.io crate zju-jw-scraper 0.1.0 on toolchain c9edc02e8320a9e5799d185910ece7d491f524e6-alt [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+c9edc02e8320a9e5799d185910ece7d491f524e6-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate zju-jw-scraper 0.1.0 [INFO] finished tweaking crates.io crate zju-jw-scraper 0.1.0 [INFO] tweaked toml for crates.io crate zju-jw-scraper 0.1.0 written to work/builds/worker-2/source/Cargo.toml [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+c9edc02e8320a9e5799d185910ece7d491f524e6-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/mnt/big/crater/work/cargo-home/bin/cargo" "+c9edc02e8320a9e5799d185910ece7d491f524e6-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/mnt/big/crater/work/builds/worker-2/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" "+c9edc02e8320a9e5799d185910ece7d491f524e6-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 0eb3d63b63596ba091e67a14994a9df66ba7cf62c0bc8f40d4b7b7d00115a238 [INFO] running `"docker" "start" "-a" "0eb3d63b63596ba091e67a14994a9df66ba7cf62c0bc8f40d4b7b7d00115a238"` [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling utf-8 v0.7.5 [INFO] [stderr] Compiling stable_deref_trait v1.1.1 [INFO] [stderr] Compiling nodrop v0.1.13 [INFO] [stderr] Compiling thin-slice v0.1.1 [INFO] [stderr] Compiling ego-tree v0.6.0 [INFO] [stderr] Compiling mime v0.3.14 [INFO] [stderr] Compiling dtoa-short v0.3.2 [INFO] [stderr] Compiling servo_arc v0.1.1 [INFO] [stderr] Compiling iovec v0.1.2 [INFO] [stderr] Compiling futf v0.1.4 [INFO] [stderr] Checking cookie v0.12.0 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling selectors v0.21.0 [INFO] [stderr] Compiling tendril v0.4.1 [INFO] [stderr] Compiling http v0.1.18 [INFO] [stderr] Compiling html5ever v0.22.5 [INFO] [stderr] Compiling derive_more v0.15.0 [INFO] [stderr] Compiling reformation_derive v0.4.1 [INFO] [stderr] Compiling derive_more v0.13.0 [INFO] [stderr] Compiling serde_derive v1.0.101 [INFO] [stderr] Compiling cssparser v0.25.9 [INFO] [stderr] Compiling cssparser-macros v0.3.6 [INFO] [stderr] Compiling interfacer-http-attribute v0.2.1 [INFO] [stderr] Compiling async-trait v0.1.13 [INFO] [stderr] Checking reformation v0.4.1 [INFO] [stderr] Compiling serde v1.0.101 [INFO] [stderr] Checking string_cache v0.7.3 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Compiling serde_json v1.0.40 [INFO] [stderr] Compiling markup5ever v0.7.5 [INFO] [stderr] Checking scraper v0.10.1 [INFO] [stderr] Compiling unhtml_derive v0.7.3 [INFO] [stderr] Checking unhtml v0.7.3 [INFO] [stderr] Checking interfacer-http v0.2.2 [INFO] [stderr] Checking zju-jw-scraper v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T 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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T 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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T 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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T 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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42, 't43> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, body:raw::req::LoginBody<'_> 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> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, body:raw::req::LoginBody<'_> 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> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37, 't38, 't39, 't40, 't41, 't42, 't43> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, body:raw::req::LoginBody<'_> 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> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, body:raw::req::LoginBody<'_> 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> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, code:&str 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> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, code:&str 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> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, code:&str 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> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, code:&str 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> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::CoursesReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::CoursesReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::CoursesReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::CoursesReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ExamsReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ExamsReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ExamsReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ExamsReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ScoresReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ScoresReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ScoresReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ScoresReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T 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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T 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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T 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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T 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> {&'r T, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'s T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t0 T, &'t1 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t2 interfacer_http::client::helper::Helper, http::request::Builder, &'t3 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t4 T, &'t5 interfacer_http::client::helper::Helper, &'t6 interfacer_http::client::helper::Helper, for<'t35> fn(std::fmt::Arguments<'t35>) -> std::string::String {std::fmt::format}, fn(&'t7 [&'t7 str], &'t7 [std::fmt::ArgumentV1<'t7>]) -> std::fmt::Arguments<'t7> {std::fmt::Arguments::<'t7>::new_v1}, &'t8 str, str, &'t9 str, [&'t10 str; 1], &'t11 [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str], (), [std::fmt::ArgumentV1<'t17>; 0], &'t18 [std::fmt::ArgumentV1<'t19>; 0], &'t20 [std::fmt::ArgumentV1<'t21>; 0], &'t22 [std::fmt::ArgumentV1<'t23>], std::fmt::Arguments<'t24>, std::string::String, &'t25 std::string::String, &'t26 str, std::result::Result, url::Url, &'t27 url::Url, &'t28 str, &'t29 mut http::request::Builder, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, &'t32 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't33)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't34)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42, 't43> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, body:raw::req::LoginBody<'_> 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> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, body:raw::req::LoginBody<'_> 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> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37, 't38, 't39, 't40, 't41, 't42, 't43> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, body:raw::req::LoginBody<'_> 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> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, body:raw::req::LoginBody<'_> 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> {&'r T, raw::req::LoginBody<'s>, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t44> fn(std::fmt::Arguments<'t44>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 1], &'t12 [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str], (), [std::fmt::ArgumentV1<'t18>; 0], &'t19 [std::fmt::ArgumentV1<'t20>; 0], &'t21 [std::fmt::ArgumentV1<'t22>; 0], &'t23 [std::fmt::ArgumentV1<'t24>], std::fmt::Arguments<'t25>, std::string::String, &'t26 std::string::String, &'t27 str, std::result::Result, url::Url, &'t28 url::Url, &'t29 str, &'t30 mut http::request::Builder, &'t31 mut http::request::Builder, http::header::name::HeaderName, &'t32 mime::Mime, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t38 raw::req::LoginBody<'t39>, &'t40 mime::Mime, &'t41 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't43)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, code:&str 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> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, code:&str 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> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, code:&str 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> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, code:&str 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> {&'r T, &'s str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t0 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t1 T, &'t2 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t3 interfacer_http::client::helper::Helper, http::request::Builder, &'t4 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t5 T, &'t6 interfacer_http::client::helper::Helper, &'t7 interfacer_http::client::helper::Helper, for<'t40> fn(std::fmt::Arguments<'t40>) -> std::string::String {std::fmt::format}, fn(&'t8 [&'t8 str], &'t8 [std::fmt::ArgumentV1<'t8>]) -> std::fmt::Arguments<'t8> {std::fmt::Arguments::<'t8>::new_v1}, &'t9 str, str, &'t10 str, [&'t11 str; 2], &'t12 [&'t13 str; 2], &'t14 [&'t15 str; 2], &'t16 [&'t17 str], &'t18 &'t19 str, (&'t20 &'t21 str,), [std::fmt::ArgumentV1<'t22>; 1], &'t23 [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>], std::fmt::Arguments<'t29>, std::string::String, &'t30 std::string::String, &'t31 str, std::result::Result, url::Url, &'t32 url::Url, &'t33 str, &'t34 mut http::request::Builder, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't38)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't39)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::CoursesReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::CoursesReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::CoursesReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::CoursesReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::CoursesReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::CoursesReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ExamsReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ExamsReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ExamsReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ExamsReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ExamsReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ExamsReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ScoresReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ScoresReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ScoresReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, body:raw::req::ScoresReq<'_>, cookie:&str 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, 't47, 't48, 't49, 't50, 't51> {&'r T, &'s str, raw::req::ScoresReq<'t0>, &'t1 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t2 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t3 T, &'t4 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t5 interfacer_http::client::helper::Helper, http::request::Builder, &'t6 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t7 T, &'t8 interfacer_http::client::helper::Helper, &'t9 interfacer_http::client::helper::Helper, for<'t52> fn(std::fmt::Arguments<'t52>) -> std::string::String {std::fmt::format}, fn(&'t10 [&'t10 str], &'t10 [std::fmt::ArgumentV1<'t10>]) -> std::fmt::Arguments<'t10> {std::fmt::Arguments::<'t10>::new_v1}, &'t11 str, str, &'t12 str, [&'t13 str; 1], &'t14 [&'t15 str; 1], &'t16 [&'t17 str; 1], &'t18 [&'t19 str], &'t20 &'t21 str, (&'t22 &'t23 str,), [std::fmt::ArgumentV1<'t24>; 1], &'t25 [std::fmt::ArgumentV1<'t26>; 1], &'t27 [std::fmt::ArgumentV1<'t28>; 1], &'t29 [std::fmt::ArgumentV1<'t30>], std::fmt::Arguments<'t31>, std::string::String, &'t32 std::string::String, &'t33 str, std::result::Result, url::Url, &'t34 url::Url, &'t35 str, &'t36 mut http::request::Builder, &'t37 mut http::request::Builder, http::header::name::HeaderName, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mime::Mime, &'t41 str, &'t42 mut http::request::Builder, &'t43 mut http::request::Builder, &'t44 mut http::request::Builder, &'t45 mut http::request::Builder, fn(std::result::Result, interfacer_http::content::error::ToContentError>) -> std::result::Result<, interfacer_http::content::error::ToContentError> as std::ops::Try>::Ok, , interfacer_http::content::error::ToContentError> as std::ops::Try>::Error> {, interfacer_http::content::error::ToContentError> as std::ops::Try>::into_result}, &'t46 raw::req::ScoresReq<'t47>, &'t48 mime::Mime, &'t49 mime::Mime, std::result::Result, interfacer_http::content::error::ToContentError>, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't50)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't51)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [INFO] [stderr] | ^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely [INFO] [stderr] --> src/raw/mod.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | #[http_service] [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, 't38, 't39, 't40, 't41, 't42> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/raw/mod.rs:17:1: 17:16 _self:&T, stu_id:&str, cookie:&str 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> {&'r T, &'s str, &'t0 str, mime::Mime, fn(std::result::Result>, ::Err>) -> std::result::Result<>, ::Err> as std::ops::Try>::Ok, >, ::Err> as std::ops::Try>::Error> {>, ::Err> as std::ops::Try>::into_result}, T, &'t1 T, fn(std::result::Result>, http::error::Error>) -> std::result::Result<>, http::error::Error> as std::ops::Try>::Ok, >, http::error::Error> as std::ops::Try>::Error> {>, http::error::Error> as std::ops::Try>::into_result}, &'t2 T, &'t3 interfacer_http::client::helper::Helper, interfacer_http::client::helper::Helper, &'t4 interfacer_http::client::helper::Helper, http::request::Builder, &'t5 mut http::request::Builder, fn(std::result::Result) -> std::result::Result< as std::ops::Try>::Ok, as std::ops::Try>::Error> { as std::ops::Try>::into_result}, &'t6 T, &'t7 interfacer_http::client::helper::Helper, &'t8 interfacer_http::client::helper::Helper, for<'t43> fn(std::fmt::Arguments<'t43>) -> std::string::String {std::fmt::format}, fn(&'t9 [&'t9 str], &'t9 [std::fmt::ArgumentV1<'t9>]) -> std::fmt::Arguments<'t9> {std::fmt::Arguments::<'t9>::new_v1}, &'t10 str, str, &'t11 str, [&'t12 str; 1], &'t13 [&'t14 str; 1], &'t15 [&'t16 str; 1], &'t17 [&'t18 str], &'t19 &'t20 str, (&'t21 &'t22 str,), [std::fmt::ArgumentV1<'t23>; 1], &'t24 [std::fmt::ArgumentV1<'t25>; 1], &'t26 [std::fmt::ArgumentV1<'t27>; 1], &'t28 [std::fmt::ArgumentV1<'t29>], std::fmt::Arguments<'t30>, std::string::String, &'t31 std::string::String, &'t32 str, std::result::Result, url::Url, &'t33 url::Url, &'t34 str, &'t35 mut http::request::Builder, &'t36 mut http::request::Builder, http::header::name::HeaderName, &'t37 mut http::request::Builder, &'t38 mut http::request::Builder, &'t39 mut http::request::Builder, &'t40 mut http::request::Builder, fn() -> std::vec::Vec {std::vec::Vec::::new}, std::vec::Vec, std::result::Result>, http::error::Error>, http::request::Request>, std::pin::Pin>, ::Err>> + std::marker::Send + 't41)>>, std::pin::Pin>, ::Err>> + std::marker::Send + 't42)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10> {&'r T, &'s str, &'t0 str, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, raw::req::LoginBody<'t1>) -> std::pin::Pin, ::Err>> + std::marker::Send + 't3)>> {::login::<'t1, 't2, 't3>}, T, &'t4 T, fn(&'t5 str, &'t5 str, &'t5 str) -> raw::req::LoginBody<'t5> {raw::req::LoginBody::<'t5>::new}, &'t6 str, str, &'t7 str, raw::req::LoginBody<'t8>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't10)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:47:86: 70:6 _self:&T, stu_id:&str, password:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10> {&'r T, &'s str, &'t0 str, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, raw::req::LoginBody<'t1>) -> std::pin::Pin, ::Err>> + std::marker::Send + 't3)>> {::login::<'t1, 't2, 't3>}, T, &'t4 T, fn(&'t5 str, &'t5 str, &'t5 str) -> raw::req::LoginBody<'t5> {raw::req::LoginBody::<'t5>::new}, &'t6 str, str, &'t7 str, raw::req::LoginBody<'t8>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't10)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:47:86: 70:6 _self:&T, stu_id:&str, password:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10> {&'r T, &'s str, &'t0 str, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, raw::req::LoginBody<'t1>) -> std::pin::Pin, ::Err>> + std::marker::Send + 't3)>> {::login::<'t1, 't2, 't3>}, T, &'t4 T, fn(&'t5 str, &'t5 str, &'t5 str) -> raw::req::LoginBody<'t5> {raw::req::LoginBody::<'t5>::new}, &'t6 str, str, &'t7 str, raw::req::LoginBody<'t8>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't10)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6> {&'r T, &'s str, fn(raw::resp::CourseInfo) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t0 T, &'t1 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't2)>> {::get_course_info::<'t0, 't1, 't2>}, T, &'t3 T, str, &'t4 str, std::pin::Pin, ::Err>> + std::marker::Send + 't5)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't6)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:71:82: 73:6 _self:&T, code:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6> {&'r T, &'s str, fn(raw::resp::CourseInfo) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t0 T, &'t1 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't2)>> {::get_course_info::<'t0, 't1, 't2>}, T, &'t3 T, str, &'t4 str, std::pin::Pin, ::Err>> + std::marker::Send + 't5)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't6)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:71:82: 73:6 _self:&T, code:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6> {&'r T, &'s str, fn(raw::resp::CourseInfo) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t0 T, &'t1 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't2)>> {::get_course_info::<'t0, 't1, 't2>}, T, &'t3 T, str, &'t4 str, std::pin::Pin, ::Err>> + std::marker::Send + 't5)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't6)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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> {&'r T, &'s str, req::SchoolYear, req::CourseSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_courses::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::CoursesReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_courses::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::CoursesReq<'t17> {raw::req::CoursesReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::CourseSemester, raw::req::CoursesReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:80:41: 96:6 _self:&T, stu_id:&str, school_year:req::SchoolYear, semester:req::CourseSemester, cookie:&str 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> {&'r T, &'s str, req::SchoolYear, req::CourseSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_courses::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::CoursesReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_courses::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::CoursesReq<'t17> {raw::req::CoursesReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::CourseSemester, raw::req::CoursesReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:80:41: 96:6 _self:&T, stu_id:&str, school_year:req::SchoolYear, semester:req::CourseSemester, cookie:&str 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> {&'r T, &'s str, req::SchoolYear, req::CourseSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_courses::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::CoursesReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_courses::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::CoursesReq<'t17> {raw::req::CoursesReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::CourseSemester, raw::req::CoursesReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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> {&'r T, &'s str, req::SchoolYear, req::ExamSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_exams::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::ExamsReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_exams::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::ExamsReq<'t17> {raw::req::ExamsReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::ExamSemester, raw::req::ExamsReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:103:39: 119:6 _self:&T, stu_id:&str, school_year:req::SchoolYear, semester:req::ExamSemester, cookie:&str 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> {&'r T, &'s str, req::SchoolYear, req::ExamSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_exams::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::ExamsReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_exams::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::ExamsReq<'t17> {raw::req::ExamsReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::ExamSemester, raw::req::ExamsReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:103:39: 119:6 _self:&T, stu_id:&str, school_year:req::SchoolYear, semester:req::ExamSemester, cookie:&str 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> {&'r T, &'s str, req::SchoolYear, req::ExamSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_exams::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::ExamsReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_exams::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::ExamsReq<'t17> {raw::req::ExamsReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::ExamSemester, raw::req::ExamsReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, &'t3 str, raw::req::ScoresReq<'t1>, &'t4 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't5)>> {::get_scores::<'t1, 't2, 't3, 't4, 't5>}, T, &'t6 T, str, &'t7 str, fn(&'t8 str) -> raw::req::ScoresReq<'t8> {raw::req::ScoresReq::<'t8>::new}, &'t9 str, &'t10 str, raw::req::ScoresReq<'t11>, &'t12 str, std::pin::Pin, ::Err>> + std::marker::Send + 't13)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't14)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:120:93: 127:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, &'t3 str, raw::req::ScoresReq<'t1>, &'t4 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't5)>> {::get_scores::<'t1, 't2, 't3, 't4, 't5>}, T, &'t6 T, str, &'t7 str, fn(&'t8 str) -> raw::req::ScoresReq<'t8> {raw::req::ScoresReq::<'t8>::new}, &'t9 str, &'t10 str, raw::req::ScoresReq<'t11>, &'t12 str, std::pin::Pin, ::Err>> + std::marker::Send + 't13)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't14)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:120:93: 127:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, &'t3 str, raw::req::ScoresReq<'t1>, &'t4 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't5)>> {::get_scores::<'t1, 't2, 't3, 't4, 't5>}, T, &'t6 T, str, &'t7 str, fn(&'t8 str) -> raw::req::ScoresReq<'t8> {raw::req::ScoresReq::<'t8>::new}, &'t9 str, &'t10 str, raw::req::ScoresReq<'t11>, &'t12 str, std::pin::Pin, ::Err>> + std::marker::Send + 't13)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't14)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_major_scores::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:132:45: 137:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_major_scores::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:132:45: 137:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_major_scores::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(f32) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_total_credit::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:138:92: 143:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(f32) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_total_credit::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:138:92: 143:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(f32) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_total_credit::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error: aborting due to 29 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `zju-jw-scraper`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10> {&'r T, &'s str, &'t0 str, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, raw::req::LoginBody<'t1>) -> std::pin::Pin, ::Err>> + std::marker::Send + 't3)>> {::login::<'t1, 't2, 't3>}, T, &'t4 T, fn(&'t5 str, &'t5 str, &'t5 str) -> raw::req::LoginBody<'t5> {raw::req::LoginBody::<'t5>::new}, &'t6 str, str, &'t7 str, raw::req::LoginBody<'t8>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't10)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:47:86: 70:6 _self:&T, stu_id:&str, password:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10> {&'r T, &'s str, &'t0 str, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, raw::req::LoginBody<'t1>) -> std::pin::Pin, ::Err>> + std::marker::Send + 't3)>> {::login::<'t1, 't2, 't3>}, T, &'t4 T, fn(&'t5 str, &'t5 str, &'t5 str) -> raw::req::LoginBody<'t5> {raw::req::LoginBody::<'t5>::new}, &'t6 str, str, &'t7 str, raw::req::LoginBody<'t8>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't10)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:47:86: 70:6 _self:&T, stu_id:&str, password:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10> {&'r T, &'s str, &'t0 str, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, raw::req::LoginBody<'t1>) -> std::pin::Pin, ::Err>> + std::marker::Send + 't3)>> {::login::<'t1, 't2, 't3>}, T, &'t4 T, fn(&'t5 str, &'t5 str, &'t5 str) -> raw::req::LoginBody<'t5> {raw::req::LoginBody::<'t5>::new}, &'t6 str, str, &'t7 str, raw::req::LoginBody<'t8>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't10)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6> {&'r T, &'s str, fn(raw::resp::CourseInfo) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t0 T, &'t1 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't2)>> {::get_course_info::<'t0, 't1, 't2>}, T, &'t3 T, str, &'t4 str, std::pin::Pin, ::Err>> + std::marker::Send + 't5)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't6)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:71:82: 73:6 _self:&T, code:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6> {&'r T, &'s str, fn(raw::resp::CourseInfo) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t0 T, &'t1 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't2)>> {::get_course_info::<'t0, 't1, 't2>}, T, &'t3 T, str, &'t4 str, std::pin::Pin, ::Err>> + std::marker::Send + 't5)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't6)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:71:82: 73:6 _self:&T, code:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6> {&'r T, &'s str, fn(raw::resp::CourseInfo) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t0 T, &'t1 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't2)>> {::get_course_info::<'t0, 't1, 't2>}, T, &'t3 T, str, &'t4 str, std::pin::Pin, ::Err>> + std::marker::Send + 't5)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't6)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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> {&'r T, &'s str, req::SchoolYear, req::CourseSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_courses::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::CoursesReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_courses::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::CoursesReq<'t17> {raw::req::CoursesReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::CourseSemester, raw::req::CoursesReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:80:41: 96:6 _self:&T, stu_id:&str, school_year:req::SchoolYear, semester:req::CourseSemester, cookie:&str 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> {&'r T, &'s str, req::SchoolYear, req::CourseSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_courses::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::CoursesReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_courses::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::CoursesReq<'t17> {raw::req::CoursesReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::CourseSemester, raw::req::CoursesReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:80:41: 96:6 _self:&T, stu_id:&str, school_year:req::SchoolYear, semester:req::CourseSemester, cookie:&str 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> {&'r T, &'s str, req::SchoolYear, req::CourseSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_courses::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::CoursesReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_courses::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::CoursesReq<'t17> {raw::req::CoursesReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::CourseSemester, raw::req::CoursesReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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> {&'r T, &'s str, req::SchoolYear, req::ExamSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_exams::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::ExamsReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_exams::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::ExamsReq<'t17> {raw::req::ExamsReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::ExamSemester, raw::req::ExamsReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:103:39: 119:6 _self:&T, stu_id:&str, school_year:req::SchoolYear, semester:req::ExamSemester, cookie:&str 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> {&'r T, &'s str, req::SchoolYear, req::ExamSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_exams::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::ExamsReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_exams::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::ExamsReq<'t17> {raw::req::ExamsReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::ExamSemester, raw::req::ExamsReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:103:39: 119:6 _self:&T, stu_id:&str, school_year:req::SchoolYear, semester:req::ExamSemester, cookie:&str 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> {&'r T, &'s str, req::SchoolYear, req::ExamSemester, &'t0 str, std::string::String, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_default_exams::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, (), fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(&'t11 T, &'t12 str, raw::req::ExamsReq<'t10>, &'t13 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't14)>> {::get_exams::<'t10, 't11, 't12, 't13, 't14>}, &'t15 T, &'t16 str, fn(&'t17 str, &'t17 str, &'t17 str) -> raw::req::ExamsReq<'t17> {raw::req::ExamsReq::<'t17>::new}, &'t18 std::string::String, &'t19 str, &'t20 std::string::String, &'t21 req::ExamSemester, raw::req::ExamsReq<'t22>, &'t23 str, std::pin::Pin, ::Err>> + std::marker::Send + 't24)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't25)>>}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [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> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, &'t3 str, raw::req::ScoresReq<'t1>, &'t4 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't5)>> {::get_scores::<'t1, 't2, 't3, 't4, 't5>}, T, &'t6 T, str, &'t7 str, fn(&'t8 str) -> raw::req::ScoresReq<'t8> {raw::req::ScoresReq::<'t8>::new}, &'t9 str, &'t10 str, raw::req::ScoresReq<'t11>, &'t12 str, std::pin::Pin, ::Err>> + std::marker::Send + 't13)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't14)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:120:93: 127:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, &'t3 str, raw::req::ScoresReq<'t1>, &'t4 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't5)>> {::get_scores::<'t1, 't2, 't3, 't4, 't5>}, T, &'t6 T, str, &'t7 str, fn(&'t8 str) -> raw::req::ScoresReq<'t8> {raw::req::ScoresReq::<'t8>::new}, &'t9 str, &'t10 str, raw::req::ScoresReq<'t11>, &'t12 str, std::pin::Pin, ::Err>> + std::marker::Send + 't13)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't14)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:120:93: 127:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t2 T, &'t3 str, raw::req::ScoresReq<'t1>, &'t4 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't5)>> {::get_scores::<'t1, 't2, 't3, 't4, 't5>}, T, &'t6 T, str, &'t7 str, fn(&'t8 str) -> raw::req::ScoresReq<'t8> {raw::req::ScoresReq::<'t8>::new}, &'t9 str, &'t10 str, raw::req::ScoresReq<'t11>, &'t12 str, std::pin::Pin, ::Err>> + std::marker::Send + 't13)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't14)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_major_scores::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:132:45: 137:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_major_scores::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:132:45: 137:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(std::vec::Vec) -> std::result::Result, ::Err> {std::result::Result::, ::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_major_scores::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future, ::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error[E0277]: `T` cannot be sent between threads safely [INFO] [stderr] --> src/service.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | #[async_trait] [INFO] [stderr] | ^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stderr] | [INFO] [stderr] = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `T` [INFO] [stderr] = help: consider adding a `where T: std::marker::Send` bound [INFO] [stderr] = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(f32) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_total_credit::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}` [INFO] [stderr] = note: required because it appears within the type `[static generator@src/service.rs:138:92: 143:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(f32) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_total_credit::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}]` [INFO] [stderr] = note: required because it appears within the type `std::future::GenFuture<[static generator@src/service.rs:138:92: 143:6 _self:&T, stu_id:&str, cookie:&str for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> {&'r T, &'s str, &'t0 str, fn(f32) -> std::result::Result::Err> {std::result::Result::::Err>::Ok}, fn(std::result::Result, ::Err>) -> std::result::Result<, ::Err> as std::ops::Try>::Ok, , ::Err> as std::ops::Try>::Error> {, ::Err> as std::ops::Try>::into_result}, fn(&'t1 T, &'t2 str, &'t3 str) -> std::pin::Pin, ::Err>> + std::marker::Send + 't4)>> {::get_total_credit::<'t1, 't2, 't3, 't4>}, T, &'t5 T, str, &'t6 str, &'t7 str, std::pin::Pin, ::Err>> + std::marker::Send + 't8)>>, std::pin::Pin, ::Err>> + std::marker::Send + 't9)>>, ()}]>` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required because it appears within the type `impl std::future::Future` [INFO] [stderr] = note: required for the cast to the object type `dyn std::future::Future::Err>> + std::marker::Send` [INFO] [stderr] [INFO] [stderr] error: aborting due to 29 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `zju-jw-scraper`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "0eb3d63b63596ba091e67a14994a9df66ba7cf62c0bc8f40d4b7b7d00115a238"` [INFO] running `"docker" "rm" "-f" "0eb3d63b63596ba091e67a14994a9df66ba7cf62c0bc8f40d4b7b7d00115a238"` [INFO] [stdout] 0eb3d63b63596ba091e67a14994a9df66ba7cf62c0bc8f40d4b7b7d00115a238