[INFO] fetching crate databend-driver 0.11.3...
[INFO] checking databend-driver-0.11.3 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate databend-driver 0.11.3 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate databend-driver 0.11.3 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate databend-driver 0.11.3
[INFO] finished tweaking crates.io crate databend-driver 0.11.3
[INFO] tweaked toml for crates.io crate databend-driver 0.11.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ordered-float v4.2.0
[INFO] [stderr]   Downloaded tonic v0.10.2
[INFO] [stderr]   Downloaded databend-driver-macros v0.11.3
[INFO] [stderr]   Downloaded const-random v0.1.18
[INFO] [stderr]   Downloaded const-random-macro v0.1.16
[INFO] [stderr]   Downloaded arrow-string v47.0.0
[INFO] [stderr]   Downloaded flatbuffers v23.5.26
[INFO] [stderr]   Downloaded arrow-csv v47.0.0
[INFO] [stderr]   Downloaded databend-client v0.11.3
[INFO] [stderr]   Downloaded prost v0.12.3
[INFO] [stderr]   Downloaded arrow-arith v47.0.0
[INFO] [stderr]   Downloaded arrow-buffer v47.0.0
[INFO] [stderr]   Downloaded arrow-flight v47.0.0
[INFO] [stderr]   Downloaded arrow-ipc v47.0.0
[INFO] [stderr]   Downloaded arrow-cast v47.0.0
[INFO] [stderr]   Downloaded arrow v47.0.0
[INFO] [stderr]   Downloaded jsonb v0.3.0
[INFO] [stderr]   Downloaded arrow-array v47.0.0
[INFO] [stderr]   Downloaded arrow-data v47.0.0
[INFO] [stderr]   Downloaded roaring v0.10.3
[INFO] [stderr]   Downloaded arrow-json v47.0.0
[INFO] [stderr]   Downloaded arrow-ord v47.0.0
[INFO] [stderr]   Downloaded arrow-row v47.0.0
[INFO] [stderr]   Downloaded arrow-select v47.0.0
[INFO] [stderr]   Downloaded arrow-schema v47.0.0
[INFO] [stderr]   Downloaded databend-sql v0.11.3
[INFO] [stderr]   Downloaded tokio-retry v0.3.0
[INFO] [stderr]   Downloaded prost-derive v0.12.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 665e880a4ff5fb5777613fb7768a36060b58291b1356dfb26bf505f5fa2509c3
[INFO] running `Command { std: "docker" "start" "-a" "665e880a4ff5fb5777613fb7768a36060b58291b1356dfb26bf505f5fa2509c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "665e880a4ff5fb5777613fb7768a36060b58291b1356dfb26bf505f5fa2509c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "665e880a4ff5fb5777613fb7768a36060b58291b1356dfb26bf505f5fa2509c3", kill_on_drop: false }`
[INFO] [stdout] 665e880a4ff5fb5777613fb7768a36060b58291b1356dfb26bf505f5fa2509c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c27b5096619e3ee93dadb2ef7918f54fffff0cb844a3696382a568aeeac7863d
[INFO] running `Command { std: "docker" "start" "-a" "c27b5096619e3ee93dadb2ef7918f54fffff0cb844a3696382a568aeeac7863d", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking arrow-schema v47.0.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking ring v0.17.8
[INFO] [stderr]    Compiling rustls v0.21.10
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]    Compiling flatbuffers v23.5.26
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-syntax v0.7.5
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]    Compiling databend-driver-macros v0.11.3
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking lexical-write-integer v0.8.5
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]     Checking lexical-write-float v0.8.5
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking chrono v0.4.37
[INFO] [stderr]     Checking ordered-float v4.2.0
[INFO] [stderr]     Checking num-bigint v0.4.4
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking roaring v0.10.3
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking arrow-buffer v47.0.0
[INFO] [stderr]     Checking jsonb v0.3.0
[INFO] [stderr]     Checking arrow-data v47.0.0
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-retry v0.3.0
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking arrow-array v47.0.0
[INFO] [stderr]     Checking h2 v0.3.25
[INFO] [stderr]     Checking arrow-select v47.0.0
[INFO] [stderr]     Checking arrow-row v47.0.0
[INFO] [stderr]     Checking arrow-arith v47.0.0
[INFO] [stderr]     Checking arrow-cast v47.0.0
[INFO] [stderr]     Checking arrow-ord v47.0.0
[INFO] [stderr]     Checking arrow-string v47.0.0
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking arrow-json v47.0.0
[INFO] [stderr]     Checking arrow-ipc v47.0.0
[INFO] [stderr]     Checking arrow-csv v47.0.0
[INFO] [stderr]     Checking arrow v47.0.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking databend-client v0.11.3
[INFO] [stderr]     Checking databend-sql v0.11.3
[INFO] [stderr]     Checking databend-driver v0.11.3 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:54:52
[INFO] [stdout]     |
[INFO] [stdout] 54  |       async fn exec(&self, sql: &str) -> Result<i64> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 55  | |         info!("exec: {}", sql);
[INFO] [stdout] 56  | |         let mut resp = self.client.start_query(sql).await?;
[INFO] [stdout] 57  | |         while let Some(next_uri) = resp.next_uri {
[INFO] [stdout] ...   |
[INFO] [stdout] 60  | |         Ok(resp.stats.progresses.write_progress.rows as i64)
[INFO] [stdout] 61  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:54:52: 61:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `std::string::String`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:54:52
[INFO] [stdout]     |
[INFO] [stdout] 54  |       async fn exec(&self, sql: &str) -> Result<i64> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 55  | |         info!("exec: {}", sql);
[INFO] [stdout] 56  | |         let mut resp = self.client.start_query(sql).await?;
[INFO] [stdout] 57  | |         while let Some(next_uri) = resp.next_uri {
[INFO] [stdout] ...   |
[INFO] [stdout] 60  | |         Ok(resp.stats.progresses.write_progress.rows as i64)
[INFO] [stdout] 61  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:54:52: 61:6}>>` to `Pin<Box<dyn Future<Output = Result<i64, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:54:52
[INFO] [stdout]     |
[INFO] [stdout] 54  |       async fn exec(&self, sql: &str) -> Result<i64> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 55  | |         info!("exec: {}", sql);
[INFO] [stdout] 56  | |         let mut resp = self.client.start_query(sql).await?;
[INFO] [stdout] 57  | |         while let Some(next_uri) = resp.next_uri {
[INFO] [stdout] ...   |
[INFO] [stdout] 60  | |         Ok(resp.stats.progresses.write_progress.rows as i64)
[INFO] [stdout] 61  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:54:52: 61:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `std::string::String`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:54:52
[INFO] [stdout]     |
[INFO] [stdout] 54  |       async fn exec(&self, sql: &str) -> Result<i64> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 55  | |         info!("exec: {}", sql);
[INFO] [stdout] 56  | |         let mut resp = self.client.start_query(sql).await?;
[INFO] [stdout] 57  | |         while let Some(next_uri) = resp.next_uri {
[INFO] [stdout] ...   |
[INFO] [stdout] 60  | |         Ok(resp.stats.progresses.write_progress.rows as i64)
[INFO] [stdout] 61  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:54:52: 61:6}>>` to `Pin<Box<dyn Future<Output = Result<i64, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:70:75
[INFO] [stdout]     |
[INFO] [stdout] 70  |       async fn query_iter_ext(&self, sql: &str) -> Result<RowStatsIterator> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 71  | |         info!("query iter ext: {}", sql);
[INFO] [stdout] 72  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 73  | |         let (schema, rows) = RestAPIRows::from_response(self.client.clone(), resp)?;
[INFO] [stdout] 74  | |         Ok(RowStatsIterator::new(Arc::new(schema), Box::pin(rows)))
[INFO] [stdout] 75  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:70:75: 75:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:70:75
[INFO] [stdout]     |
[INFO] [stdout] 70  |       async fn query_iter_ext(&self, sql: &str) -> Result<RowStatsIterator> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 71  | |         info!("query iter ext: {}", sql);
[INFO] [stdout] 72  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 73  | |         let (schema, rows) = RestAPIRows::from_response(self.client.clone(), resp)?;
[INFO] [stdout] 74  | |         Ok(RowStatsIterator::new(Arc::new(schema), Box::pin(rows)))
[INFO] [stdout] 75  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:70:75: 75:6}>>` to `Pin<Box<dyn Future<Output = Result<RowStatsIterator, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:70:75
[INFO] [stdout]     |
[INFO] [stdout] 70  |       async fn query_iter_ext(&self, sql: &str) -> Result<RowStatsIterator> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 71  | |         info!("query iter ext: {}", sql);
[INFO] [stdout] 72  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 73  | |         let (schema, rows) = RestAPIRows::from_response(self.client.clone(), resp)?;
[INFO] [stdout] 74  | |         Ok(RowStatsIterator::new(Arc::new(schema), Box::pin(rows)))
[INFO] [stdout] 75  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:70:75: 75:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:70:75
[INFO] [stdout]     |
[INFO] [stdout] 70  |       async fn query_iter_ext(&self, sql: &str) -> Result<RowStatsIterator> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 71  | |         info!("query iter ext: {}", sql);
[INFO] [stdout] 72  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 73  | |         let (schema, rows) = RestAPIRows::from_response(self.client.clone(), resp)?;
[INFO] [stdout] 74  | |         Ok(RowStatsIterator::new(Arc::new(schema), Box::pin(rows)))
[INFO] [stdout] 75  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:70:75: 75:6}>>` to `Pin<Box<dyn Future<Output = Result<RowStatsIterator, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:77:65
[INFO] [stdout]     |
[INFO] [stdout] 77  |       async fn query_row(&self, sql: &str) -> Result<Option<Row>> {
[INFO] [stdout]     |  _________________________________________________________________^
[INFO] [stdout] 78  | |         info!("query row: {}", sql);
[INFO] [stdout] 79  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 80  | |         let resp = self.wait_for_data(resp).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 95  | |         }
[INFO] [stdout] 96  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:77:65: 96:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_sql::error::Error>>`, `std::string::String`, `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:77:65
[INFO] [stdout]     |
[INFO] [stdout] 77  |       async fn query_row(&self, sql: &str) -> Result<Option<Row>> {
[INFO] [stdout]     |  _________________________________________________________________^
[INFO] [stdout] 78  | |         info!("query row: {}", sql);
[INFO] [stdout] 79  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 80  | |         let resp = self.wait_for_data(resp).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 95  | |         }
[INFO] [stdout] 96  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:77:65: 96:6}>>` to `Pin<Box<dyn Future<Output = Result<Option<databend_sql::rows::Row>, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:77:65
[INFO] [stdout]     |
[INFO] [stdout] 77  |       async fn query_row(&self, sql: &str) -> Result<Option<Row>> {
[INFO] [stdout]     |  _________________________________________________________________^
[INFO] [stdout] 78  | |         info!("query row: {}", sql);
[INFO] [stdout] 79  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 80  | |         let resp = self.wait_for_data(resp).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 95  | |         }
[INFO] [stdout] 96  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:77:65: 96:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_sql::error::Error>>`, `std::string::String`, `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:77:65
[INFO] [stdout]     |
[INFO] [stdout] 77  |       async fn query_row(&self, sql: &str) -> Result<Option<Row>> {
[INFO] [stdout]     |  _________________________________________________________________^
[INFO] [stdout] 78  | |         info!("query row: {}", sql);
[INFO] [stdout] 79  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 80  | |         let resp = self.wait_for_data(resp).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 95  | |         }
[INFO] [stdout] 96  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:77:65: 96:6}>>` to `Pin<Box<dyn Future<Output = Result<Option<databend_sql::rows::Row>, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:114:89
[INFO] [stdout]     |
[INFO] [stdout] 114 |       async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _________________________________________________________________________________________^
[INFO] [stdout] 115 | |         self.client.upload_to_stage(stage, data, size).await?;
[INFO] [stdout] 116 | |         Ok(())
[INFO] [stdout] 117 | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:114:89: 117:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:340:67
[INFO] [stdout]     |
[INFO] [stdout] 340 |       pub async fn query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  ___________________________________________________________________^
[INFO] [stdout] 341 | |         info!("query: {}", sql);
[INFO] [stdout] 342 | |         let resp = self.start_query(sql).await?;
[INFO] [stdout] 343 | |         self.wait_for_query(resp).await
[INFO] [stdout] 344 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&str`, `std::string::String`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:449:88
[INFO] [stdout]     |
[INFO] [stdout] 449 |       async fn get_presigned_upload_url(&self, stage: &str) -> Result<PresignedResponse> {
[INFO] [stdout]     |  ________________________________________________________________________________________^
[INFO] [stdout] 450 | |         info!("get presigned upload url: {}", stage);
[INFO] [stdout] 451 | |         let sql = format!("PRESIGN UPLOAD {}", stage);
[INFO] [stdout] 452 | |         let resp = self.query(&sql).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 478 | |         })
[INFO] [stdout] 479 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `Box<dyn AsyncRead + Send + Sync + Unpin>`, `u64`, `impl Future<Output = Result<(), databend_client::error::Error>>`, `impl Future<Output = Result<PresignedResponse, databend_client::error::Error>>`, `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:481:93
[INFO] [stdout]     |
[INFO] [stdout] 481 |       pub async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 482 | |         if self.presigned_url_disabled {
[INFO] [stdout] 483 | |             self.upload_to_stage_with_stream(stage, data, size).await
[INFO] [stdout] 484 | |         } else {
[INFO] [stdout] ...   |
[INFO] [stdout] 487 | |         }
[INFO] [stdout] 488 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:114:89
[INFO] [stdout]     |
[INFO] [stdout] 114 |       async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _________________________________________________________________________________________^
[INFO] [stdout] 115 | |         self.client.upload_to_stage(stage, data, size).await?;
[INFO] [stdout] 116 | |         Ok(())
[INFO] [stdout] 117 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:114:89: 117:6}>>` to `Pin<Box<dyn Future<Output = Result<(), databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:114:89
[INFO] [stdout]     |
[INFO] [stdout] 114 |       async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _________________________________________________________________________________________^
[INFO] [stdout] 115 | |         self.client.upload_to_stage(stage, data, size).await?;
[INFO] [stdout] 116 | |         Ok(())
[INFO] [stdout] 117 | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:114:89: 117:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:340:67
[INFO] [stdout]     |
[INFO] [stdout] 340 |       pub async fn query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  ___________________________________________________________________^
[INFO] [stdout] 341 | |         info!("query: {}", sql);
[INFO] [stdout] 342 | |         let resp = self.start_query(sql).await?;
[INFO] [stdout] 343 | |         self.wait_for_query(resp).await
[INFO] [stdout] 344 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&str`, `std::string::String`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:449:88
[INFO] [stdout]     |
[INFO] [stdout] 449 |       async fn get_presigned_upload_url(&self, stage: &str) -> Result<PresignedResponse> {
[INFO] [stdout]     |  ________________________________________________________________________________________^
[INFO] [stdout] 450 | |         info!("get presigned upload url: {}", stage);
[INFO] [stdout] 451 | |         let sql = format!("PRESIGN UPLOAD {}", stage);
[INFO] [stdout] 452 | |         let resp = self.query(&sql).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 478 | |         })
[INFO] [stdout] 479 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `Box<dyn AsyncRead + Send + Sync + Unpin>`, `u64`, `impl Future<Output = Result<(), databend_client::error::Error>>`, `impl Future<Output = Result<PresignedResponse, databend_client::error::Error>>`, `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:481:93
[INFO] [stdout]     |
[INFO] [stdout] 481 |       pub async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 482 | |         if self.presigned_url_disabled {
[INFO] [stdout] 483 | |             self.upload_to_stage_with_stream(stage, data, size).await
[INFO] [stdout] 484 | |         } else {
[INFO] [stdout] ...   |
[INFO] [stdout] 487 | |         }
[INFO] [stdout] 488 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:114:89
[INFO] [stdout]     |
[INFO] [stdout] 114 |       async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _________________________________________________________________________________________^
[INFO] [stdout] 115 | |         self.client.upload_to_stage(stage, data, size).await?;
[INFO] [stdout] 116 | |         Ok(())
[INFO] [stdout] 117 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:114:89: 117:6}>>` to `Pin<Box<dyn Future<Output = Result<(), databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |       ) -> Result<ServerStats> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 127 | |         info!(
[INFO] [stdout] 128 | |             "load data: {}, size: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 129 | |             sql, size, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         Ok(ServerStats::from(resp.stats))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:126:30: 144:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `Url`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `tokio_retry::future::Retry<std::iter::Take<std::iter::Map<tokio_retry::strategy::exponential_backoff::ExponentialBackoff, fn(Duration) -> Duration {tokio_retry::strategy::jitter::jitter}>>, {closure@APIClient::query_page::{closure#0}::{closure#0}}>`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:266:93
[INFO] [stdout]     |
[INFO] [stdout] 266 |       pub async fn query_page(&self, query_id: &str, next_uri: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 267 | |         info!("query page: {}", next_uri);
[INFO] [stdout] 268 | |         let endpoint = self.endpoint.join(next_uri)?;
[INFO] [stdout] 269 | |         let headers = self.make_headers(query_id).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |         }
[INFO] [stdout] 298 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `QueryResponse`, `Vec<SchemaField>`, `Vec<Vec<std::string::String>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:322:86
[INFO] [stdout]     |
[INFO] [stdout] 322 |       pub async fn wait_for_query(&self, resp: QueryResponse) -> Result<QueryResponse> {
[INFO] [stdout]     |  ______________________________________________________________________________________^
[INFO] [stdout] 323 | |         info!("wait for query: {}", resp.id);
[INFO] [stdout] 324 | |         if let Some(next_uri) = &resp.next_uri {
[INFO] [stdout] 325 | |             let schema = resp.schema;
[INFO] [stdout] ...   |
[INFO] [stdout] 337 | |         }
[INFO] [stdout] 338 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `&str`, `BTreeMap<&str, &str>`, `BTreeMap<&str, &str>`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `u16`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |       ) -> Result<QueryResponse> {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 394 | |         info!(
[INFO] [stdout] 395 | |             "insert with stage: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 396 | |             sql, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 446 | |         Ok(resp)
[INFO] [stdout] 447 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `u64`, `Option<BTreeMap<&str, &str>>`, `Option<BTreeMap<&str, &str>>`, `i64`, `std::string::String`, `Pin<Box<dyn Future<Output = Result<(), databend_sql::error::Error>> + Send>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |       ) -> Result<ServerStats> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 127 | |         info!(
[INFO] [stdout] 128 | |             "load data: {}, size: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 129 | |             sql, size, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         Ok(ServerStats::from(resp.stats))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:126:30: 144:6}>>` to `Pin<Box<dyn Future<Output = Result<ServerStats, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |       ) -> Result<ServerStats> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 127 | |         info!(
[INFO] [stdout] 128 | |             "load data: {}, size: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 129 | |             sql, size, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         Ok(ServerStats::from(resp.stats))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:126:30: 144:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `Url`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `tokio_retry::future::Retry<std::iter::Take<std::iter::Map<tokio_retry::strategy::exponential_backoff::ExponentialBackoff, fn(Duration) -> Duration {tokio_retry::strategy::jitter::jitter}>>, {closure@APIClient::query_page::{closure#0}::{closure#0}}>`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:266:93
[INFO] [stdout]     |
[INFO] [stdout] 266 |       pub async fn query_page(&self, query_id: &str, next_uri: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 267 | |         info!("query page: {}", next_uri);
[INFO] [stdout] 268 | |         let endpoint = self.endpoint.join(next_uri)?;
[INFO] [stdout] 269 | |         let headers = self.make_headers(query_id).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |         }
[INFO] [stdout] 298 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `QueryResponse`, `Vec<SchemaField>`, `Vec<Vec<std::string::String>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:322:86
[INFO] [stdout]     |
[INFO] [stdout] 322 |       pub async fn wait_for_query(&self, resp: QueryResponse) -> Result<QueryResponse> {
[INFO] [stdout]     |  ______________________________________________________________________________________^
[INFO] [stdout] 323 | |         info!("wait for query: {}", resp.id);
[INFO] [stdout] 324 | |         if let Some(next_uri) = &resp.next_uri {
[INFO] [stdout] 325 | |             let schema = resp.schema;
[INFO] [stdout] ...   |
[INFO] [stdout] 337 | |         }
[INFO] [stdout] 338 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `&str`, `BTreeMap<&str, &str>`, `BTreeMap<&str, &str>`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `u16`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |       ) -> Result<QueryResponse> {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 394 | |         info!(
[INFO] [stdout] 395 | |             "insert with stage: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 396 | |             sql, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 446 | |         Ok(resp)
[INFO] [stdout] 447 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `u64`, `Option<BTreeMap<&str, &str>>`, `Option<BTreeMap<&str, &str>>`, `i64`, `std::string::String`, `Pin<Box<dyn Future<Output = Result<(), databend_sql::error::Error>> + Send>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |       ) -> Result<ServerStats> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 127 | |         info!(
[INFO] [stdout] 128 | |             "load data: {}, size: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 129 | |             sql, size, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         Ok(ServerStats::from(resp.stats))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:126:30: 144:6}>>` to `Pin<Box<dyn Future<Output = Result<ServerStats, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:285:43
[INFO] [stdout]     |
[INFO] [stdout] 285 |                       self.next_page = Some(Box::pin(async move {
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 286 | |                         client
[INFO] [stdout] 287 | |                             .query_page(&query_id, &next_uri)
[INFO] [stdout] 288 | |                             .await
[INFO] [stdout] 289 | |                             .map_err(|e| e.into())
[INFO] [stdout] 290 | |                     }));
[INFO] [stdout]     | |______________________^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:285:52: 290:22}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `Url`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `tokio_retry::future::Retry<std::iter::Take<std::iter::Map<tokio_retry::strategy::exponential_backoff::ExponentialBackoff, fn(Duration) -> Duration {tokio_retry::strategy::jitter::jitter}>>, {closure@APIClient::query_page::{closure#0}::{closure#0}}>`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:266:93
[INFO] [stdout]     |
[INFO] [stdout] 266 |       pub async fn query_page(&self, query_id: &str, next_uri: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 267 | |         info!("query page: {}", next_uri);
[INFO] [stdout] 268 | |         let endpoint = self.endpoint.join(next_uri)?;
[INFO] [stdout] 269 | |         let headers = self.make_headers(query_id).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |         }
[INFO] [stdout] 298 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:285:52
[INFO] [stdout]     |
[INFO] [stdout] 285 |                       self.next_page = Some(Box::pin(async move {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 286 | |                         client
[INFO] [stdout] 287 | |                             .query_page(&query_id, &next_uri)
[INFO] [stdout] 288 | |                             .await
[INFO] [stdout] 289 | |                             .map_err(|e| e.into())
[INFO] [stdout] 290 | |                     }));
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:285:52: 290:22}>>` to `Pin<Box<dyn Future<Output = Result<QueryResponse, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:285:43
[INFO] [stdout]     |
[INFO] [stdout] 285 |                       self.next_page = Some(Box::pin(async move {
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 286 | |                         client
[INFO] [stdout] 287 | |                             .query_page(&query_id, &next_uri)
[INFO] [stdout] 288 | |                             .await
[INFO] [stdout] 289 | |                             .map_err(|e| e.into())
[INFO] [stdout] 290 | |                     }));
[INFO] [stdout]     | |______________________^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:285:52: 290:22}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `Url`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `tokio_retry::future::Retry<std::iter::Take<std::iter::Map<tokio_retry::strategy::exponential_backoff::ExponentialBackoff, fn(Duration) -> Duration {tokio_retry::strategy::jitter::jitter}>>, {closure@APIClient::query_page::{closure#0}::{closure#0}}>`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:266:93
[INFO] [stdout]     |
[INFO] [stdout] 266 |       pub async fn query_page(&self, query_id: &str, next_uri: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 267 | |         info!("query page: {}", next_uri);
[INFO] [stdout] 268 | |         let endpoint = self.endpoint.join(next_uri)?;
[INFO] [stdout] 269 | |         let headers = self.make_headers(query_id).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |         }
[INFO] [stdout] 298 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:285:52
[INFO] [stdout]     |
[INFO] [stdout] 285 |                       self.next_page = Some(Box::pin(async move {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 286 | |                         client
[INFO] [stdout] 287 | |                             .query_page(&query_id, &next_uri)
[INFO] [stdout] 288 | |                             .await
[INFO] [stdout] 289 | |                             .map_err(|e| e.into())
[INFO] [stdout] 290 | |                     }));
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:285:52: 290:22}>>` to `Pin<Box<dyn Future<Output = Result<QueryResponse, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `databend-driver` (lib) due to 7 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `databend-driver` (lib test) due to 7 previous errors
[INFO] running `Command { std: "docker" "inspect" "c27b5096619e3ee93dadb2ef7918f54fffff0cb844a3696382a568aeeac7863d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c27b5096619e3ee93dadb2ef7918f54fffff0cb844a3696382a568aeeac7863d", kill_on_drop: false }`
[INFO] [stdout] c27b5096619e3ee93dadb2ef7918f54fffff0cb844a3696382a568aeeac7863d
[INFO] checking databend-driver-0.11.3 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate databend-driver 0.11.3 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate databend-driver 0.11.3 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate databend-driver 0.11.3
[INFO] finished tweaking crates.io crate databend-driver 0.11.3
[INFO] tweaked toml for crates.io crate databend-driver 0.11.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ed064aa8866cfaecd128d031647000ab5564654302d3d1371f3854f61eb0c624
[INFO] running `Command { std: "docker" "start" "-a" "ed064aa8866cfaecd128d031647000ab5564654302d3d1371f3854f61eb0c624", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed064aa8866cfaecd128d031647000ab5564654302d3d1371f3854f61eb0c624", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed064aa8866cfaecd128d031647000ab5564654302d3d1371f3854f61eb0c624", kill_on_drop: false }`
[INFO] [stdout] ed064aa8866cfaecd128d031647000ab5564654302d3d1371f3854f61eb0c624
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3a7dbd8fbbd4b3919d706ce5d9258edf894f4ecc175f2108565ba59150b1039e
[INFO] running `Command { std: "docker" "start" "-a" "3a7dbd8fbbd4b3919d706ce5d9258edf894f4ecc175f2108565ba59150b1039e", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking arrow-schema v47.0.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]     Checking ring v0.17.8
[INFO] [stderr]    Compiling rustls v0.21.10
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]    Compiling flatbuffers v23.5.26
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex-syntax v0.7.5
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]    Compiling databend-driver-macros v0.11.3
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]     Checking lexical-write-integer v0.8.5
[INFO] [stderr]     Checking lexical-write-float v0.8.5
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking chrono v0.4.37
[INFO] [stderr]     Checking ordered-float v4.2.0
[INFO] [stderr]     Checking num-bigint v0.4.4
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking roaring v0.10.3
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking arrow-buffer v47.0.0
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-retry v0.3.0
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking arrow-data v47.0.0
[INFO] [stderr]     Checking jsonb v0.3.0
[INFO] [stderr]     Checking h2 v0.3.25
[INFO] [stderr]     Checking arrow-array v47.0.0
[INFO] [stderr]     Checking arrow-select v47.0.0
[INFO] [stderr]     Checking arrow-row v47.0.0
[INFO] [stderr]     Checking arrow-arith v47.0.0
[INFO] [stderr]     Checking arrow-cast v47.0.0
[INFO] [stderr]     Checking arrow-ord v47.0.0
[INFO] [stderr]     Checking arrow-string v47.0.0
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking arrow-ipc v47.0.0
[INFO] [stderr]     Checking arrow-csv v47.0.0
[INFO] [stderr]     Checking arrow-json v47.0.0
[INFO] [stderr]     Checking arrow v47.0.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking databend-client v0.11.3
[INFO] [stderr]     Checking databend-sql v0.11.3
[INFO] [stderr]     Checking databend-driver v0.11.3 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:54:52
[INFO] [stdout]     |
[INFO] [stdout] 54  |       async fn exec(&self, sql: &str) -> Result<i64> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 55  | |         info!("exec: {}", sql);
[INFO] [stdout] 56  | |         let mut resp = self.client.start_query(sql).await?;
[INFO] [stdout] 57  | |         while let Some(next_uri) = resp.next_uri {
[INFO] [stdout] ...   |
[INFO] [stdout] 60  | |         Ok(resp.stats.progresses.write_progress.rows as i64)
[INFO] [stdout] 61  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:54:52: 61:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `std::string::String`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:54:52
[INFO] [stdout]     |
[INFO] [stdout] 54  |       async fn exec(&self, sql: &str) -> Result<i64> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 55  | |         info!("exec: {}", sql);
[INFO] [stdout] 56  | |         let mut resp = self.client.start_query(sql).await?;
[INFO] [stdout] 57  | |         while let Some(next_uri) = resp.next_uri {
[INFO] [stdout] ...   |
[INFO] [stdout] 60  | |         Ok(resp.stats.progresses.write_progress.rows as i64)
[INFO] [stdout] 61  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:54:52: 61:6}>>` to `Pin<Box<dyn Future<Output = Result<i64, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:70:75
[INFO] [stdout]     |
[INFO] [stdout] 70  |       async fn query_iter_ext(&self, sql: &str) -> Result<RowStatsIterator> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 71  | |         info!("query iter ext: {}", sql);
[INFO] [stdout] 72  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 73  | |         let (schema, rows) = RestAPIRows::from_response(self.client.clone(), resp)?;
[INFO] [stdout] 74  | |         Ok(RowStatsIterator::new(Arc::new(schema), Box::pin(rows)))
[INFO] [stdout] 75  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:70:75: 75:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:70:75
[INFO] [stdout]     |
[INFO] [stdout] 70  |       async fn query_iter_ext(&self, sql: &str) -> Result<RowStatsIterator> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 71  | |         info!("query iter ext: {}", sql);
[INFO] [stdout] 72  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 73  | |         let (schema, rows) = RestAPIRows::from_response(self.client.clone(), resp)?;
[INFO] [stdout] 74  | |         Ok(RowStatsIterator::new(Arc::new(schema), Box::pin(rows)))
[INFO] [stdout] 75  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:70:75: 75:6}>>` to `Pin<Box<dyn Future<Output = Result<RowStatsIterator, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:77:65
[INFO] [stdout]     |
[INFO] [stdout] 77  |       async fn query_row(&self, sql: &str) -> Result<Option<Row>> {
[INFO] [stdout]     |  _________________________________________________________________^
[INFO] [stdout] 78  | |         info!("query row: {}", sql);
[INFO] [stdout] 79  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 80  | |         let resp = self.wait_for_data(resp).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 95  | |         }
[INFO] [stdout] 96  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:77:65: 96:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_sql::error::Error>>`, `std::string::String`, `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:77:65
[INFO] [stdout]     |
[INFO] [stdout] 77  |       async fn query_row(&self, sql: &str) -> Result<Option<Row>> {
[INFO] [stdout]     |  _________________________________________________________________^
[INFO] [stdout] 78  | |         info!("query row: {}", sql);
[INFO] [stdout] 79  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 80  | |         let resp = self.wait_for_data(resp).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 95  | |         }
[INFO] [stdout] 96  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:77:65: 96:6}>>` to `Pin<Box<dyn Future<Output = Result<Option<databend_sql::rows::Row>, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:114:89
[INFO] [stdout]     |
[INFO] [stdout] 114 |       async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _________________________________________________________________________________________^
[INFO] [stdout] 115 | |         self.client.upload_to_stage(stage, data, size).await?;
[INFO] [stdout] 116 | |         Ok(())
[INFO] [stdout] 117 | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:114:89: 117:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:340:67
[INFO] [stdout]     |
[INFO] [stdout] 340 |       pub async fn query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  ___________________________________________________________________^
[INFO] [stdout] 341 | |         info!("query: {}", sql);
[INFO] [stdout] 342 | |         let resp = self.start_query(sql).await?;
[INFO] [stdout] 343 | |         self.wait_for_query(resp).await
[INFO] [stdout] 344 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&str`, `std::string::String`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:449:88
[INFO] [stdout]     |
[INFO] [stdout] 449 |       async fn get_presigned_upload_url(&self, stage: &str) -> Result<PresignedResponse> {
[INFO] [stdout]     |  ________________________________________________________________________________________^
[INFO] [stdout] 450 | |         info!("get presigned upload url: {}", stage);
[INFO] [stdout] 451 | |         let sql = format!("PRESIGN UPLOAD {}", stage);
[INFO] [stdout] 452 | |         let resp = self.query(&sql).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 478 | |         })
[INFO] [stdout] 479 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `Box<dyn AsyncRead + Send + Sync + Unpin>`, `u64`, `impl Future<Output = Result<(), databend_client::error::Error>>`, `impl Future<Output = Result<PresignedResponse, databend_client::error::Error>>`, `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:481:93
[INFO] [stdout]     |
[INFO] [stdout] 481 |       pub async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 482 | |         if self.presigned_url_disabled {
[INFO] [stdout] 483 | |             self.upload_to_stage_with_stream(stage, data, size).await
[INFO] [stdout] 484 | |         } else {
[INFO] [stdout] ...   |
[INFO] [stdout] 487 | |         }
[INFO] [stdout] 488 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:114:89
[INFO] [stdout]     |
[INFO] [stdout] 114 |       async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _________________________________________________________________________________________^
[INFO] [stdout] 115 | |         self.client.upload_to_stage(stage, data, size).await?;
[INFO] [stdout] 116 | |         Ok(())
[INFO] [stdout] 117 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:114:89: 117:6}>>` to `Pin<Box<dyn Future<Output = Result<(), databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |       ) -> Result<ServerStats> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 127 | |         info!(
[INFO] [stdout] 128 | |             "load data: {}, size: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 129 | |             sql, size, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         Ok(ServerStats::from(resp.stats))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:126:30: 144:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `Url`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `tokio_retry::future::Retry<std::iter::Take<std::iter::Map<tokio_retry::strategy::exponential_backoff::ExponentialBackoff, fn(Duration) -> Duration {tokio_retry::strategy::jitter::jitter}>>, {closure@APIClient::query_page::{closure#0}::{closure#0}}>`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:266:93
[INFO] [stdout]     |
[INFO] [stdout] 266 |       pub async fn query_page(&self, query_id: &str, next_uri: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 267 | |         info!("query page: {}", next_uri);
[INFO] [stdout] 268 | |         let endpoint = self.endpoint.join(next_uri)?;
[INFO] [stdout] 269 | |         let headers = self.make_headers(query_id).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |         }
[INFO] [stdout] 298 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `QueryResponse`, `Vec<SchemaField>`, `Vec<Vec<std::string::String>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:322:86
[INFO] [stdout]     |
[INFO] [stdout] 322 |       pub async fn wait_for_query(&self, resp: QueryResponse) -> Result<QueryResponse> {
[INFO] [stdout]     |  ______________________________________________________________________________________^
[INFO] [stdout] 323 | |         info!("wait for query: {}", resp.id);
[INFO] [stdout] 324 | |         if let Some(next_uri) = &resp.next_uri {
[INFO] [stdout] 325 | |             let schema = resp.schema;
[INFO] [stdout] ...   |
[INFO] [stdout] 337 | |         }
[INFO] [stdout] 338 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `&str`, `BTreeMap<&str, &str>`, `BTreeMap<&str, &str>`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `u16`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |       ) -> Result<QueryResponse> {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 394 | |         info!(
[INFO] [stdout] 395 | |             "insert with stage: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 396 | |             sql, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 446 | |         Ok(resp)
[INFO] [stdout] 447 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `u64`, `Option<BTreeMap<&str, &str>>`, `Option<BTreeMap<&str, &str>>`, `i64`, `std::string::String`, `Pin<Box<dyn Future<Output = Result<(), databend_sql::error::Error>> + Send>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |       ) -> Result<ServerStats> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 127 | |         info!(
[INFO] [stdout] 128 | |             "load data: {}, size: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 129 | |             sql, size, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         Ok(ServerStats::from(resp.stats))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:126:30: 144:6}>>` to `Pin<Box<dyn Future<Output = Result<ServerStats, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:285:43
[INFO] [stdout]     |
[INFO] [stdout] 285 |                       self.next_page = Some(Box::pin(async move {
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 286 | |                         client
[INFO] [stdout] 287 | |                             .query_page(&query_id, &next_uri)
[INFO] [stdout] 288 | |                             .await
[INFO] [stdout] 289 | |                             .map_err(|e| e.into())
[INFO] [stdout] 290 | |                     }));
[INFO] [stdout]     | |______________________^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:285:52: 290:22}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `Url`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `tokio_retry::future::Retry<std::iter::Take<std::iter::Map<tokio_retry::strategy::exponential_backoff::ExponentialBackoff, fn(Duration) -> Duration {tokio_retry::strategy::jitter::jitter}>>, {closure@APIClient::query_page::{closure#0}::{closure#0}}>`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:266:93
[INFO] [stdout]     |
[INFO] [stdout] 266 |       pub async fn query_page(&self, query_id: &str, next_uri: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 267 | |         info!("query page: {}", next_uri);
[INFO] [stdout] 268 | |         let endpoint = self.endpoint.join(next_uri)?;
[INFO] [stdout] 269 | |         let headers = self.make_headers(query_id).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |         }
[INFO] [stdout] 298 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:285:52
[INFO] [stdout]     |
[INFO] [stdout] 285 |                       self.next_page = Some(Box::pin(async move {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 286 | |                         client
[INFO] [stdout] 287 | |                             .query_page(&query_id, &next_uri)
[INFO] [stdout] 288 | |                             .await
[INFO] [stdout] 289 | |                             .map_err(|e| e.into())
[INFO] [stdout] 290 | |                     }));
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:285:52: 290:22}>>` to `Pin<Box<dyn Future<Output = Result<QueryResponse, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:54:52
[INFO] [stdout]     |
[INFO] [stdout] 54  |       async fn exec(&self, sql: &str) -> Result<i64> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 55  | |         info!("exec: {}", sql);
[INFO] [stdout] 56  | |         let mut resp = self.client.start_query(sql).await?;
[INFO] [stdout] 57  | |         while let Some(next_uri) = resp.next_uri {
[INFO] [stdout] ...   |
[INFO] [stdout] 60  | |         Ok(resp.stats.progresses.write_progress.rows as i64)
[INFO] [stdout] 61  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:54:52: 61:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `std::string::String`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:54:52
[INFO] [stdout]     |
[INFO] [stdout] 54  |       async fn exec(&self, sql: &str) -> Result<i64> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 55  | |         info!("exec: {}", sql);
[INFO] [stdout] 56  | |         let mut resp = self.client.start_query(sql).await?;
[INFO] [stdout] 57  | |         while let Some(next_uri) = resp.next_uri {
[INFO] [stdout] ...   |
[INFO] [stdout] 60  | |         Ok(resp.stats.progresses.write_progress.rows as i64)
[INFO] [stdout] 61  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:54:52: 61:6}>>` to `Pin<Box<dyn Future<Output = Result<i64, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:70:75
[INFO] [stdout]     |
[INFO] [stdout] 70  |       async fn query_iter_ext(&self, sql: &str) -> Result<RowStatsIterator> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 71  | |         info!("query iter ext: {}", sql);
[INFO] [stdout] 72  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 73  | |         let (schema, rows) = RestAPIRows::from_response(self.client.clone(), resp)?;
[INFO] [stdout] 74  | |         Ok(RowStatsIterator::new(Arc::new(schema), Box::pin(rows)))
[INFO] [stdout] 75  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:70:75: 75:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:70:75
[INFO] [stdout]     |
[INFO] [stdout] 70  |       async fn query_iter_ext(&self, sql: &str) -> Result<RowStatsIterator> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 71  | |         info!("query iter ext: {}", sql);
[INFO] [stdout] 72  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 73  | |         let (schema, rows) = RestAPIRows::from_response(self.client.clone(), resp)?;
[INFO] [stdout] 74  | |         Ok(RowStatsIterator::new(Arc::new(schema), Box::pin(rows)))
[INFO] [stdout] 75  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:70:75: 75:6}>>` to `Pin<Box<dyn Future<Output = Result<RowStatsIterator, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `databend-driver` (lib) due to 7 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:77:65
[INFO] [stdout]     |
[INFO] [stdout] 77  |       async fn query_row(&self, sql: &str) -> Result<Option<Row>> {
[INFO] [stdout]     |  _________________________________________________________________^
[INFO] [stdout] 78  | |         info!("query row: {}", sql);
[INFO] [stdout] 79  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 80  | |         let resp = self.wait_for_data(resp).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 95  | |         }
[INFO] [stdout] 96  | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:77:65: 96:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_sql::error::Error>>`, `std::string::String`, `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:77:65
[INFO] [stdout]     |
[INFO] [stdout] 77  |       async fn query_row(&self, sql: &str) -> Result<Option<Row>> {
[INFO] [stdout]     |  _________________________________________________________________^
[INFO] [stdout] 78  | |         info!("query row: {}", sql);
[INFO] [stdout] 79  | |         let resp = self.client.start_query(sql).await?;
[INFO] [stdout] 80  | |         let resp = self.wait_for_data(resp).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 95  | |         }
[INFO] [stdout] 96  | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:77:65: 96:6}>>` to `Pin<Box<dyn Future<Output = Result<Option<databend_sql::rows::Row>, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:114:89
[INFO] [stdout]     |
[INFO] [stdout] 114 |       async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _________________________________________________________________________________________^
[INFO] [stdout] 115 | |         self.client.upload_to_stage(stage, data, size).await?;
[INFO] [stdout] 116 | |         Ok(())
[INFO] [stdout] 117 | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:114:89: 117:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:218:73
[INFO] [stdout]     |
[INFO] [stdout] 218 |       pub async fn start_query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _________________________________________________________________________^
[INFO] [stdout] 219 | |         info!("start query: {}", sql);
[INFO] [stdout] 220 | |         let session_state = self.session_state().await;
[INFO] [stdout] 221 | |         let req = QueryRequest::new(sql)
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         Ok(resp)
[INFO] [stdout] 264 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:340:67
[INFO] [stdout]     |
[INFO] [stdout] 340 |       pub async fn query(&self, sql: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  ___________________________________________________________________^
[INFO] [stdout] 341 | |         info!("query: {}", sql);
[INFO] [stdout] 342 | |         let resp = self.start_query(sql).await?;
[INFO] [stdout] 343 | |         self.wait_for_query(resp).await
[INFO] [stdout] 344 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&str`, `std::string::String`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:449:88
[INFO] [stdout]     |
[INFO] [stdout] 449 |       async fn get_presigned_upload_url(&self, stage: &str) -> Result<PresignedResponse> {
[INFO] [stdout]     |  ________________________________________________________________________________________^
[INFO] [stdout] 450 | |         info!("get presigned upload url: {}", stage);
[INFO] [stdout] 451 | |         let sql = format!("PRESIGN UPLOAD {}", stage);
[INFO] [stdout] 452 | |         let resp = self.query(&sql).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 478 | |         })
[INFO] [stdout] 479 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `Box<dyn AsyncRead + Send + Sync + Unpin>`, `u64`, `impl Future<Output = Result<(), databend_client::error::Error>>`, `impl Future<Output = Result<PresignedResponse, databend_client::error::Error>>`, `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:481:93
[INFO] [stdout]     |
[INFO] [stdout] 481 |       pub async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 482 | |         if self.presigned_url_disabled {
[INFO] [stdout] 483 | |             self.upload_to_stage_with_stream(stage, data, size).await
[INFO] [stdout] 484 | |         } else {
[INFO] [stdout] ...   |
[INFO] [stdout] 487 | |         }
[INFO] [stdout] 488 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `impl Future<Output = Result<(), databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:114:89
[INFO] [stdout]     |
[INFO] [stdout] 114 |       async fn upload_to_stage(&self, stage: &str, data: Reader, size: u64) -> Result<()> {
[INFO] [stdout]     |  _________________________________________________________________________________________^
[INFO] [stdout] 115 | |         self.client.upload_to_stage(stage, data, size).await?;
[INFO] [stdout] 116 | |         Ok(())
[INFO] [stdout] 117 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:114:89: 117:6}>>` to `Pin<Box<dyn Future<Output = Result<(), databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |       ) -> Result<ServerStats> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 127 | |         info!(
[INFO] [stdout] 128 | |             "load data: {}, size: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 129 | |             sql, size, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         Ok(ServerStats::from(resp.stats))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:126:30: 144:6}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `Url`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `tokio_retry::future::Retry<std::iter::Take<std::iter::Map<tokio_retry::strategy::exponential_backoff::ExponentialBackoff, fn(Duration) -> Duration {tokio_retry::strategy::jitter::jitter}>>, {closure@APIClient::query_page::{closure#0}::{closure#0}}>`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:266:93
[INFO] [stdout]     |
[INFO] [stdout] 266 |       pub async fn query_page(&self, query_id: &str, next_uri: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 267 | |         info!("query page: {}", next_uri);
[INFO] [stdout] 268 | |         let endpoint = self.endpoint.join(next_uri)?;
[INFO] [stdout] 269 | |         let headers = self.make_headers(query_id).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |         }
[INFO] [stdout] 298 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `QueryResponse`, `Vec<SchemaField>`, `Vec<Vec<std::string::String>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:322:86
[INFO] [stdout]     |
[INFO] [stdout] 322 |       pub async fn wait_for_query(&self, resp: QueryResponse) -> Result<QueryResponse> {
[INFO] [stdout]     |  ______________________________________________________________________________________^
[INFO] [stdout] 323 | |         info!("wait for query: {}", resp.id);
[INFO] [stdout] 324 | |         if let Some(next_uri) = &resp.next_uri {
[INFO] [stdout] 325 | |             let schema = resp.schema;
[INFO] [stdout] ...   |
[INFO] [stdout] 337 | |         }
[INFO] [stdout] 338 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `&str`, `BTreeMap<&str, &str>`, `BTreeMap<&str, &str>`, `impl Future<Output = SessionState>`, `QueryRequest<'_>`, `Url`, `std::string::String`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `i32`, `impl Future<Output = Result<reqwest::async_impl::response::Response, reqwest::error::Error>>`, `u16`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |       ) -> Result<QueryResponse> {
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 394 | |         info!(
[INFO] [stdout] 395 | |             "insert with stage: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 396 | |             sql, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 446 | |         Ok(resp)
[INFO] [stdout] 447 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `&RestAPIConnection`, `u64`, `Option<BTreeMap<&str, &str>>`, `Option<BTreeMap<&str, &str>>`, `i64`, `std::string::String`, `Pin<Box<dyn Future<Output = Result<(), databend_sql::error::Error>> + Send>>`, `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |       ) -> Result<ServerStats> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 127 | |         info!(
[INFO] [stdout] 128 | |             "load data: {}, size: {}, format: {:?}, copy: {:?}",
[INFO] [stdout] 129 | |             sql, size, file_format_options, copy_options
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | |         Ok(ServerStats::from(resp.stats))
[INFO] [stdout] 144 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:126:30: 144:6}>>` to `Pin<Box<dyn Future<Output = Result<ServerStats, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]    --> src/rest_api.rs:285:43
[INFO] [stdout]     |
[INFO] [stdout] 285 |                       self.next_page = Some(Box::pin(async move {
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 286 | |                         client
[INFO] [stdout] 287 | |                             .query_page(&query_id, &next_uri)
[INFO] [stdout] 288 | |                             .await
[INFO] [stdout] 289 | |                             .map_err(|e| e.into())
[INFO] [stdout] 290 | |                     }));
[INFO] [stdout]     | |______________________^ `core::fmt::rt::Opaque` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `core::fmt::rt::Opaque`, which is required by `{async block@src/rest_api.rs:285:52: 290:22}: Send`
[INFO] [stdout]     = note: required for `&core::fmt::rt::Opaque` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `core::fmt::rt::Argument<'_>`
[INFO] [stdout]    --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/fmt/rt.rs:75:12
[INFO] [stdout]     = note: required because it captures the following types: `&APIClient`, `&str`, `Url`, `http::header::map::HeaderMap`, `impl Future<Output = Result<http::header::map::HeaderMap, databend_client::error::Error>>`, `reqwest::async_impl::response::Response`, `tokio_retry::future::Retry<std::iter::Take<std::iter::Map<tokio_retry::strategy::exponential_backoff::ExponentialBackoff, fn(Duration) -> Duration {tokio_retry::strategy::jitter::jitter}>>, {closure@APIClient::query_page::{closure#0}::{closure#0}}>`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `&[&str]`, `core::fmt::rt::Argument<'_>`, `http::status::StatusCode`, `impl Future<Output = Result<std::string::String, reqwest::error::Error>>`, `QueryResponse`, `impl Future<Output = Result<QueryResponse, reqwest::error::Error>>`, `impl Future<Output = ()>`
[INFO] [stdout] note: required because it's used within this `async` fn body
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/databend-client-0.11.3/src/client.rs:266:93
[INFO] [stdout]     |
[INFO] [stdout] 266 |       pub async fn query_page(&self, query_id: &str, next_uri: &str) -> Result<QueryResponse> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 267 | |         info!("query page: {}", next_uri);
[INFO] [stdout] 268 | |         let endpoint = self.endpoint.join(next_uri)?;
[INFO] [stdout] 269 | |         let headers = self.make_headers(query_id).await?;
[INFO] [stdout] ...   |
[INFO] [stdout] 297 | |         }
[INFO] [stdout] 298 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     = note: required because it captures the following types: `impl Future<Output = Result<QueryResponse, databend_client::error::Error>>`
[INFO] [stdout] note: required because it's used within this `async` block
[INFO] [stdout]    --> src/rest_api.rs:285:52
[INFO] [stdout]     |
[INFO] [stdout] 285 |                       self.next_page = Some(Box::pin(async move {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 286 | |                         client
[INFO] [stdout] 287 | |                             .query_page(&query_id, &next_uri)
[INFO] [stdout] 288 | |                             .await
[INFO] [stdout] 289 | |                             .map_err(|e| e.into())
[INFO] [stdout] 290 | |                     }));
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     = note: required for the cast from `Pin<Box<{async block@src/rest_api.rs:285:52: 290:22}>>` to `Pin<Box<dyn Future<Output = Result<QueryResponse, databend_sql::error::Error>> + Send>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `databend-driver` (lib test) due to 7 previous errors
[INFO] running `Command { std: "docker" "inspect" "3a7dbd8fbbd4b3919d706ce5d9258edf894f4ecc175f2108565ba59150b1039e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a7dbd8fbbd4b3919d706ce5d9258edf894f4ecc175f2108565ba59150b1039e", kill_on_drop: false }`
[INFO] [stdout] 3a7dbd8fbbd4b3919d706ce5d9258edf894f4ecc175f2108565ba59150b1039e
