[INFO] fetching crate openlimits-binance 0.3.0... [INFO] building openlimits-binance-0.3.0 against try#b755f8b9936d084e0363ce6b393c7e444a37080e for pr-97334-1 [INFO] extracting crate openlimits-binance 0.3.0 into /workspace/builds/worker-2/source [INFO] validating manifest of crates.io crate openlimits-binance 0.3.0 on toolchain b755f8b9936d084e0363ce6b393c7e444a37080e [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b755f8b9936d084e0363ce6b393c7e444a37080e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate openlimits-binance 0.3.0 [INFO] finished tweaking crates.io crate openlimits-binance 0.3.0 [INFO] tweaked toml for crates.io crate openlimits-binance 0.3.0 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b755f8b9936d084e0363ce6b393c7e444a37080e" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b755f8b9936d084e0363ce6b393c7e444a37080e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:824c28ce115f6b999260af6986f3384c158e782489540e41c0b698ca1d9fd927" "/opt/rustwide/cargo-home/bin/cargo" "+b755f8b9936d084e0363ce6b393c7e444a37080e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5d79359d1be884c33609b44db3dc747a4cfd893fbfbc5e3f29e733ab307a1051 [INFO] running `Command { std: "docker" "start" "-a" "5d79359d1be884c33609b44db3dc747a4cfd893fbfbc5e3f29e733ab307a1051", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5d79359d1be884c33609b44db3dc747a4cfd893fbfbc5e3f29e733ab307a1051", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d79359d1be884c33609b44db3dc747a4cfd893fbfbc5e3f29e733ab307a1051", kill_on_drop: false }` [INFO] [stdout] 5d79359d1be884c33609b44db3dc747a4cfd893fbfbc5e3f29e733ab307a1051 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:824c28ce115f6b999260af6986f3384c158e782489540e41c0b698ca1d9fd927" "/opt/rustwide/cargo-home/bin/cargo" "+b755f8b9936d084e0363ce6b393c7e444a37080e" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f0997df8e73754ee3325282f227d3b50910797e366ab5894115bcbe8b0b71c74 [INFO] running `Command { std: "docker" "start" "-a" "f0997df8e73754ee3325282f227d3b50910797e366ab5894115bcbe8b0b71c74", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling unicode-ident v1.0.3 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling pin-project-lite v0.2.9 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling futures-core v0.3.24 [INFO] [stderr] Compiling once_cell v1.14.0 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling pkg-config v0.3.25 [INFO] [stderr] Compiling bytes v1.2.1 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling futures-task v0.3.24 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling futures-sink v0.3.24 [INFO] [stderr] Compiling futures-channel v0.3.24 [INFO] [stderr] Compiling itoa v1.0.3 [INFO] [stderr] Compiling futures-util v0.3.24 [INFO] [stderr] Compiling futures-io v0.3.24 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling openssl v0.10.41 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling serde v1.0.144 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling tinyvec_macros v0.1.0 [INFO] [stderr] Compiling native-tls v0.2.10 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling percent-encoding v2.2.0 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling unicode-bidi v0.3.8 [INFO] [stderr] Compiling try-lock v0.2.3 [INFO] [stderr] Compiling cpufeatures v0.2.5 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.16 [INFO] [stderr] Compiling serde_json v1.0.85 [INFO] [stderr] Compiling base64 v0.13.0 [INFO] [stderr] Compiling encoding_rs v0.8.31 [INFO] [stderr] Compiling async-trait v0.1.57 [INFO] [stderr] Compiling ryu v1.0.11 [INFO] [stderr] Compiling httpdate v1.0.2 [INFO] [stderr] Compiling tower-service v0.3.2 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling anyhow v1.0.64 [INFO] [stderr] Compiling rust_decimal v1.26.1 [INFO] [stderr] Compiling ipnet v2.5.0 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling iana-time-zone v0.1.47 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling mime v0.3.16 [INFO] [stderr] Compiling arrayvec v0.7.2 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling slab v0.4.7 [INFO] [stderr] Compiling tokio v1.21.0 [INFO] [stderr] Compiling indexmap v1.9.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling tracing-core v0.1.29 [INFO] [stderr] Compiling input_buffer v0.4.0 [INFO] [stderr] Compiling generic-array v0.14.6 [INFO] [stderr] Compiling http v0.2.8 [INFO] [stderr] Compiling openssl-sys v0.9.75 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling form_urlencoded v1.1.0 [INFO] [stderr] Compiling tracing v0.1.36 [INFO] [stderr] Compiling http-body v0.4.5 [INFO] [stderr] Compiling unicode-normalization v0.1.21 [INFO] [stderr] Compiling want v0.3.0 [INFO] [stderr] Compiling socket2 v0.4.7 [INFO] [stderr] Compiling mio v0.8.4 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling getrandom v0.2.7 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling idna v0.3.0 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling crypto-mac v0.8.0 [INFO] [stderr] Compiling url v2.3.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling sha-1 v0.9.8 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling hmac v0.8.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tokio-util v0.7.4 [INFO] [stderr] Compiling futures-macro v0.3.24 [INFO] [stderr] Compiling openssl-macros v0.1.0 [INFO] [stderr] Compiling pin-project-internal v1.0.12 [INFO] [stderr] Compiling thiserror-impl v1.0.34 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling pin-project v1.0.12 [INFO] [stderr] Compiling thiserror v1.0.34 [INFO] [stderr] Compiling tokio-native-tls v0.3.0 [INFO] [stderr] Compiling tungstenite v0.12.0 [INFO] [stderr] Compiling h2 v0.3.14 [INFO] [stderr] Compiling futures-executor v0.3.24 [INFO] [stderr] Compiling tokio-tungstenite v0.13.0 [INFO] [stderr] Compiling futures v0.3.24 [INFO] [stderr] Compiling openlimits-messaging v0.1.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.22 [INFO] [stderr] Compiling hyper v0.14.20 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.11 [INFO] [stderr] Compiling openlimits-exchange v0.3.0 [INFO] [stderr] Compiling openlimits-binance v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:176:77 [INFO] [stdout] | [INFO] [stdout] 176 | async fn limit_buy(&self, req: &OpenLimitOrderRequest) -> Result { [INFO] [stdout] | _____________________________________________________________________________^ [INFO] [stdout] 177 | | let pair = self.get_pair(&req.market_pair).await?.read()?; [INFO] [stdout] 178 | | self.client [INFO] [stdout] 179 | | .limit_buy( [INFO] [stdout] ... | [INFO] [stdout] 187 | | .map(Into::into) [INFO] [stdout] 188 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:154:63 [INFO] [stdout] | [INFO] [stdout] 152 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 153 | [INFO] [stdout] 154 | let request = self.client.post(url).form(&data).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] 155 | Ok(self.response_handler(request).await?) [INFO] [stdout] 156 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future>` to the object type `dyn futures::Future> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:189:78 [INFO] [stdout] | [INFO] [stdout] 189 | async fn limit_sell(&self, req: &OpenLimitOrderRequest) -> Result { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 190 | | let pair = self.get_pair(&req.market_pair).await?.read()?; [INFO] [stdout] 191 | | self.client [INFO] [stdout] 192 | | .limit_sell( [INFO] [stdout] ... | [INFO] [stdout] 200 | | .map(Into::into) [INFO] [stdout] 201 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:154:63 [INFO] [stdout] | [INFO] [stdout] 152 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 153 | [INFO] [stdout] 154 | let request = self.client.post(url).form(&data).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] 155 | Ok(self.response_handler(request).await?) [INFO] [stdout] 156 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future>` to the object type `dyn futures::Future> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:203:79 [INFO] [stdout] | [INFO] [stdout] 203 | async fn market_buy(&self, req: &OpenMarketOrderRequest) -> Result { [INFO] [stdout] | _______________________________________________________________________________^ [INFO] [stdout] 204 | | let pair = self.get_pair(&req.market_pair).await?.read()?; [INFO] [stdout] 205 | | self.client.market_buy(pair, req.size).await.map(Into::into) [INFO] [stdout] 206 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:154:63 [INFO] [stdout] | [INFO] [stdout] 152 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 153 | [INFO] [stdout] 154 | let request = self.client.post(url).form(&data).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] 155 | Ok(self.response_handler(request).await?) [INFO] [stdout] 156 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future>` to the object type `dyn futures::Future> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:207:80 [INFO] [stdout] | [INFO] [stdout] 207 | async fn market_sell(&self, req: &OpenMarketOrderRequest) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 208 | | let pair = self.get_pair(&req.market_pair).await?.read()?; [INFO] [stdout] 209 | | self.client [INFO] [stdout] 210 | | .market_sell(pair, req.size) [INFO] [stdout] 211 | | .await [INFO] [stdout] 212 | | .map(Into::into) [INFO] [stdout] 213 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:154:63 [INFO] [stdout] | [INFO] [stdout] 152 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 153 | [INFO] [stdout] 154 | let request = self.client.post(url).form(&data).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] 155 | Ok(self.response_handler(request).await?) [INFO] [stdout] 156 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future>` to the object type `dyn futures::Future> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:214:85 [INFO] [stdout] | [INFO] [stdout] 214 | async fn cancel_order(&self, req: &CancelOrderRequest) -> Result { [INFO] [stdout] | _____________________________________________________________________________________^ [INFO] [stdout] 215 | | if let Some(pair) = req.market_pair.as_ref() { [INFO] [stdout] 216 | | let u64_id = req [INFO] [stdout] 217 | | .id [INFO] [stdout] ... | [INFO] [stdout] 228 | | } [INFO] [stdout] 229 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:183:65 [INFO] [stdout] | [INFO] [stdout] 181 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 182 | [INFO] [stdout] 183 | let request = self.client.delete(url).form(&data).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] ... [INFO] [stdout] 186 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future>` to the object type `dyn futures::Future> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:230:99 [INFO] [stdout] | [INFO] [stdout] 230 | async fn cancel_all_orders(&self, req: &CancelAllOrdersRequest) -> Result> { [INFO] [stdout] | ___________________________________________________________________________________________________^ [INFO] [stdout] 231 | | if let Some(pair) = req.market_pair.as_ref() { [INFO] [stdout] 232 | | self.client [INFO] [stdout] 233 | | .cancel_all_orders(pair.clone()) [INFO] [stdout] ... | [INFO] [stdout] 240 | | } [INFO] [stdout] 241 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:183:65 [INFO] [stdout] | [INFO] [stdout] 181 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 182 | [INFO] [stdout] 183 | let request = self.client.delete(url).form(&data).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] ... [INFO] [stdout] 186 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future, OpenLimitsError>>` to the object type `dyn futures::Future, OpenLimitsError>> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:242:63 [INFO] [stdout] | [INFO] [stdout] 242 | async fn get_all_open_orders(&self) -> Result> { [INFO] [stdout] | _______________________________________________________________^ [INFO] [stdout] 243 | | self.client [INFO] [stdout] 244 | | .get_all_open_orders() [INFO] [stdout] 245 | | .await [INFO] [stdout] 246 | | .map(|v| v.into_iter().map(Into::into).collect()) [INFO] [stdout] 247 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:139:50 [INFO] [stdout] | [INFO] [stdout] 137 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 138 | [INFO] [stdout] 139 | let request = self.client.get(url).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] ... [INFO] [stdout] 142 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future, OpenLimitsError>>` to the object type `dyn futures::Future, OpenLimitsError>> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:249:91 [INFO] [stdout] | [INFO] [stdout] 249 | async fn get_order_history(&self, req: &GetOrderHistoryRequest) -> Result> { [INFO] [stdout] | ___________________________________________________________________________________________^ [INFO] [stdout] 250 | | let req = model::AllOrderReq::try_from(req)?; [INFO] [stdout] 251 | | self.client [INFO] [stdout] 252 | | .get_all_orders(&req) [INFO] [stdout] 253 | | .await [INFO] [stdout] 254 | | .map(|v| v.into_iter().map(Into::into).collect()) [INFO] [stdout] 255 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:139:50 [INFO] [stdout] | [INFO] [stdout] 137 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 138 | [INFO] [stdout] 139 | let request = self.client.get(url).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] ... [INFO] [stdout] 142 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future, OpenLimitsError>>` to the object type `dyn futures::Future, OpenLimitsError>> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:257:88 [INFO] [stdout] | [INFO] [stdout] 257 | async fn get_trade_history(&self, req: &TradeHistoryRequest) -> Result> { [INFO] [stdout] | ________________________________________________________________________________________^ [INFO] [stdout] 258 | | let req = model::TradeHistoryReq::try_from(req)?; [INFO] [stdout] 259 | | self.client [INFO] [stdout] 260 | | .trade_history(&req) [INFO] [stdout] 261 | | .await [INFO] [stdout] 262 | | .map(|v| v.into_iter().map(Into::into).collect()) [INFO] [stdout] 263 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:139:50 [INFO] [stdout] | [INFO] [stdout] 137 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 138 | [INFO] [stdout] 139 | let request = self.client.get(url).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] ... [INFO] [stdout] 142 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future, OpenLimitsError>>` to the object type `dyn futures::Future, OpenLimitsError>> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:265:97 [INFO] [stdout] | [INFO] [stdout] 265 | async fn get_account_balances(&self, _paginator: Option) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 266 | | self.client [INFO] [stdout] 267 | | .get_account() [INFO] [stdout] 268 | | .await [INFO] [stdout] 269 | | .map(|v| v.balances.into_iter().map(Into::into).collect()) [INFO] [stdout] 270 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:139:50 [INFO] [stdout] | [INFO] [stdout] 137 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 138 | [INFO] [stdout] 139 | let request = self.client.get(url).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] ... [INFO] [stdout] 142 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future, OpenLimitsError>>` to the object type `dyn futures::Future, OpenLimitsError>> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: future cannot be sent between threads safely [INFO] [stdout] --> src/lib.rs:272:71 [INFO] [stdout] | [INFO] [stdout] 272 | async fn get_order(&self, req: &GetOrderRequest) -> Result { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 273 | | let pair = req.market_pair.clone().ok_or_else(|| { [INFO] [stdout] 274 | | OpenLimitsError::MissingParameter("market_pair parameter is required.".to_string()) [INFO] [stdout] 275 | | })?; [INFO] [stdout] ... | [INFO] [stdout] 280 | | self.client.get_order(&pair, u64_id).await.map(Into::into) [INFO] [stdout] 281 | | } [INFO] [stdout] | |_____^ future created by async block is not `Send` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `dyn for<'r> Fn(&'r str) -> Cow<'_, [u8]>` [INFO] [stdout] note: future is not `Send` as this value is used across an await [INFO] [stdout] --> src/transport.rs:139:50 [INFO] [stdout] | [INFO] [stdout] 137 | url.query_pairs_mut().append_pair("signature", &signature); [INFO] [stdout] | ---------------------------------------------------------- has type `&mut url::form_urlencoded::Serializer<'_, UrlQuery<'_>>` which is not `Send` [INFO] [stdout] 138 | [INFO] [stdout] 139 | let request = self.client.get(url).send().await?; [INFO] [stdout] | ^^^^^^ await occurs here, with `url.query_pairs_mut().append_pair("signature", &signature)` maybe used later [INFO] [stdout] ... [INFO] [stdout] 142 | } [INFO] [stdout] | - `url.query_pairs_mut().append_pair("signature", &signature)` is later dropped here [INFO] [stdout] = note: required for the cast from `impl futures::Future>` to the object type `dyn futures::Future> + std::marker::Send` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 11 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `openlimits-binance` due to 12 previous errors [INFO] running `Command { std: "docker" "inspect" "f0997df8e73754ee3325282f227d3b50910797e366ab5894115bcbe8b0b71c74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f0997df8e73754ee3325282f227d3b50910797e366ab5894115bcbe8b0b71c74", kill_on_drop: false }` [INFO] [stdout] f0997df8e73754ee3325282f227d3b50910797e366ab5894115bcbe8b0b71c74