[INFO] fetching crate docan 0.1.0-b4... [INFO] checking docan-0.1.0-b4 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate docan 0.1.0-b4 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate docan 0.1.0-b4 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate docan 0.1.0-b4 [INFO] tweaked toml for crates.io crate docan 0.1.0-b4 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate docan 0.1.0-b4 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate docan 0.1.0-b4 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded socketcan-rs v0.3.1 [INFO] [stderr] Downloaded rs-can v0.3.1 [INFO] [stderr] Downloaded bitfield-struct v0.11.0 [INFO] [stderr] Downloaded rsutil v0.1.13 [INFO] [stderr] Downloaded iso14229-1 v0.1.0-b4 [INFO] [stderr] Downloaded stream-cancel v0.8.2 [INFO] [stderr] Downloaded iso15765-2 v0.1.0-b4 [INFO] [stderr] Downloaded derive-getters v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5560ddf0e7a79f6b6dbbba4ac754c4c67353614d56acc5de2a5a3d6e53dfb58f [INFO] running `Command { std: "docker" "start" "-a" "5560ddf0e7a79f6b6dbbba4ac754c4c67353614d56acc5de2a5a3d6e53dfb58f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5560ddf0e7a79f6b6dbbba4ac754c4c67353614d56acc5de2a5a3d6e53dfb58f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5560ddf0e7a79f6b6dbbba4ac754c4c67353614d56acc5de2a5a3d6e53dfb58f", kill_on_drop: false }` [INFO] [stdout] 5560ddf0e7a79f6b6dbbba4ac754c4c67353614d56acc5de2a5a3d6e53dfb58f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 25cd8809c2abeb254b9494869f13586a3448178f8e238c7b1cf9705c707abbe7 [INFO] running `Command { std: "docker" "start" "-a" "25cd8809c2abeb254b9494869f13586a3448178f8e238c7b1cf9705c707abbe7", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling iso14229-1 v0.1.0-b4 [INFO] [stderr] Checking slab v0.4.10 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Checking indexmap v2.10.0 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling derive-getters v0.5.0 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling bitfield-struct v0.11.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking tokio v1.46.1 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking stream-cancel v0.8.2 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking rsutil v0.1.13 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking rs-can v0.3.1 [INFO] [stderr] Checking iso15765-2 v0.1.0-b4 [INFO] [stderr] Checking socketcan-rs v0.3.1 [INFO] [stderr] Checking docan v0.1.0-b4 (/opt/rustwide/workdir) [INFO] [stdout] error[E0275]: overflow evaluating the requirement `(&tokio::sync::Mutex,): Send` [INFO] [stdout] | [INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`docan_rs`) [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:651:29 [INFO] [stdout] | [INFO] [stdout] 651 | async fn acquire(&self) { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 652 | | crate::trace::async_trace_leaf().await; [INFO] [stdout] 653 | | [INFO] [stdout] 654 | | self.s.acquire(1).await.unwrap_or_else(|_| { [INFO] [stdout] ... | [INFO] [stdout] 658 | | }); [INFO] [stdout] 659 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:435:27 [INFO] [stdout] | [INFO] [stdout] 435 | let acquire_fut = async { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:434:51 [INFO] [stdout] | [INFO] [stdout] 434 | pub async fn lock(&self) -> MutexGuard<'_, T> { [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 435 | | let acquire_fut = async { [INFO] [stdout] 436 | | self.acquire().await; [INFO] [stdout] ... | [INFO] [stdout] 465 | | guard [INFO] [stdout] 466 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/context.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | pub async fn state_idle(&self) { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 127 | | self.state.lock().await.clear(); [INFO] [stdout] 128 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/context.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | pub async fn reset(&self) { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 41 | | // let mut guard = self.p2_ctx.lock().await; [INFO] [stdout] 42 | | // *guard = Default::default(); [INFO] [stdout] 43 | | self.state_idle().await; [INFO] [stdout] 44 | | self.clear_flow_ctrl().await; [INFO] [stdout] 45 | | self.clear_consecutive().await; [INFO] [stdout] 46 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / { [INFO] [stdout] 102 | | self.context.state_idle().await; [INFO] [stdout] 103 | | self.context.reset().await; [INFO] [stdout] 104 | | rsutil::trace!("ISO-TP - Sending: {}", hex::encode(&data)); [INFO] [stdout] ... | [INFO] [stdout] 143 | | Ok(()) [INFO] [stdout] 144 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/service/session_ctrl.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | ) -> Result<(), Iso14229Error> { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 24 | | let service = req.service(); [INFO] [stdout] 25 | | let resp = match req.sub_function() { [INFO] [stdout] 26 | | Some(sf) => { [INFO] [stdout] ... | [INFO] [stdout] 56 | | Ok(()) [INFO] [stdout] 57 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:50:32 [INFO] [stdout] | [INFO] [stdout] 50 | async fn server(&mut self) { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 51 | | loop { [INFO] [stdout] 52 | | let timing = self.context.get_timing().clone(); [INFO] [stdout] 53 | | let cfg = self.context.get_did_config().clone(); [INFO] [stdout] ... | [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/server/server_impl/mod.rs:243:28 [INFO] [stdout] | [INFO] [stdout] 243 | let handle = spawn(async move { clone.server().await }); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0275]: overflow evaluating the requirement `(&tokio::sync::Mutex,): Send` [INFO] [stdout] | [INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`docan_rs`) [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:651:29 [INFO] [stdout] | [INFO] [stdout] 651 | async fn acquire(&self) { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 652 | | crate::trace::async_trace_leaf().await; [INFO] [stdout] 653 | | [INFO] [stdout] 654 | | self.s.acquire(1).await.unwrap_or_else(|_| { [INFO] [stdout] ... | [INFO] [stdout] 658 | | }); [INFO] [stdout] 659 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:435:27 [INFO] [stdout] | [INFO] [stdout] 435 | let acquire_fut = async { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:434:51 [INFO] [stdout] | [INFO] [stdout] 434 | pub async fn lock(&self) -> MutexGuard<'_, T> { [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 435 | | let acquire_fut = async { [INFO] [stdout] 436 | | self.acquire().await; [INFO] [stdout] ... | [INFO] [stdout] 465 | | guard [INFO] [stdout] 466 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/context.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | pub async fn state_idle(&self) { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 127 | | self.state.lock().await.clear(); [INFO] [stdout] 128 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/context.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | pub async fn reset(&self) { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 41 | | // let mut guard = self.p2_ctx.lock().await; [INFO] [stdout] 42 | | // *guard = Default::default(); [INFO] [stdout] 43 | | self.state_idle().await; [INFO] [stdout] 44 | | self.clear_flow_ctrl().await; [INFO] [stdout] 45 | | self.clear_consecutive().await; [INFO] [stdout] 46 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / { [INFO] [stdout] 102 | | self.context.state_idle().await; [INFO] [stdout] 103 | | self.context.reset().await; [INFO] [stdout] 104 | | rsutil::trace!("ISO-TP - Sending: {}", hex::encode(&data)); [INFO] [stdout] ... | [INFO] [stdout] 143 | | Ok(()) [INFO] [stdout] 144 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/service/session_ctrl.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | ) -> Result<(), Iso14229Error> { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 24 | | let service = req.service(); [INFO] [stdout] 25 | | let resp = match req.sub_function() { [INFO] [stdout] 26 | | Some(sf) => { [INFO] [stdout] ... | [INFO] [stdout] 56 | | Ok(()) [INFO] [stdout] 57 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:50:32 [INFO] [stdout] | [INFO] [stdout] 50 | async fn server(&mut self) { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 51 | | loop { [INFO] [stdout] 52 | | let timing = self.context.get_timing().clone(); [INFO] [stdout] 53 | | let cfg = self.context.get_did_config().clone(); [INFO] [stdout] ... | [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/server/server_impl/mod.rs:243:28 [INFO] [stdout] | [INFO] [stdout] 243 | let handle = spawn(async move { clone.server().await }); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0275]: overflow evaluating the requirement `(&tokio::sync::Mutex,): Send` [INFO] [stdout] --> src/server/server_impl/mod.rs:243:22 [INFO] [stdout] | [INFO] [stdout] 243 | let handle = spawn(async move { clone.server().await }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`docan_rs`) [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:651:29 [INFO] [stdout] | [INFO] [stdout] 651 | async fn acquire(&self) { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 652 | | crate::trace::async_trace_leaf().await; [INFO] [stdout] 653 | | [INFO] [stdout] 654 | | self.s.acquire(1).await.unwrap_or_else(|_| { [INFO] [stdout] ... | [INFO] [stdout] 658 | | }); [INFO] [stdout] 659 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:435:27 [INFO] [stdout] | [INFO] [stdout] 435 | let acquire_fut = async { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:434:51 [INFO] [stdout] | [INFO] [stdout] 434 | pub async fn lock(&self) -> MutexGuard<'_, T> { [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 435 | | let acquire_fut = async { [INFO] [stdout] 436 | | self.acquire().await; [INFO] [stdout] ... | [INFO] [stdout] 465 | | guard [INFO] [stdout] 466 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/context.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | pub async fn state_idle(&self) { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 127 | | self.state.lock().await.clear(); [INFO] [stdout] 128 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/context.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | pub async fn reset(&self) { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 41 | | // let mut guard = self.p2_ctx.lock().await; [INFO] [stdout] 42 | | // *guard = Default::default(); [INFO] [stdout] 43 | | self.state_idle().await; [INFO] [stdout] 44 | | self.clear_flow_ctrl().await; [INFO] [stdout] 45 | | self.clear_consecutive().await; [INFO] [stdout] 46 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / { [INFO] [stdout] 102 | | self.context.state_idle().await; [INFO] [stdout] 103 | | self.context.reset().await; [INFO] [stdout] 104 | | rsutil::trace!("ISO-TP - Sending: {}", hex::encode(&data)); [INFO] [stdout] ... | [INFO] [stdout] 143 | | Ok(()) [INFO] [stdout] 144 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/service/session_ctrl.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | ) -> Result<(), Iso14229Error> { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 24 | | let service = req.service(); [INFO] [stdout] 25 | | let resp = match req.sub_function() { [INFO] [stdout] 26 | | Some(sf) => { [INFO] [stdout] ... | [INFO] [stdout] 56 | | Ok(()) [INFO] [stdout] 57 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:50:32 [INFO] [stdout] | [INFO] [stdout] 50 | async fn server(&mut self) { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 51 | | loop { [INFO] [stdout] 52 | | let timing = self.context.get_timing().clone(); [INFO] [stdout] 53 | | let cfg = self.context.get_did_config().clone(); [INFO] [stdout] ... | [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/server/server_impl/mod.rs:243:28 [INFO] [stdout] | [INFO] [stdout] 243 | let handle = spawn(async move { clone.server().await }); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `tokio::spawn` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/spawn.rs:168:21 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn spawn(future: F) -> JoinHandle [INFO] [stdout] | ----- required by a bound in this function [INFO] [stdout] 167 | where [INFO] [stdout] 168 | F: Future + Send + 'static, [INFO] [stdout] | ^^^^ required by this bound in `spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0275`. [INFO] [stdout] [INFO] [stderr] error: could not compile `docan` (lib test) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0275]: overflow evaluating the requirement `(&tokio::sync::Mutex,): Send` [INFO] [stdout] --> src/server/server_impl/mod.rs:243:22 [INFO] [stdout] | [INFO] [stdout] 243 | let handle = spawn(async move { clone.server().await }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`docan_rs`) [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:651:29 [INFO] [stdout] | [INFO] [stdout] 651 | async fn acquire(&self) { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 652 | | crate::trace::async_trace_leaf().await; [INFO] [stdout] 653 | | [INFO] [stdout] 654 | | self.s.acquire(1).await.unwrap_or_else(|_| { [INFO] [stdout] ... | [INFO] [stdout] 658 | | }); [INFO] [stdout] 659 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:435:27 [INFO] [stdout] | [INFO] [stdout] 435 | let acquire_fut = async { [INFO] [stdout] | ^^^^^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/sync/mutex.rs:434:51 [INFO] [stdout] | [INFO] [stdout] 434 | pub async fn lock(&self) -> MutexGuard<'_, T> { [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 435 | | let acquire_fut = async { [INFO] [stdout] 436 | | self.acquire().await; [INFO] [stdout] ... | [INFO] [stdout] 465 | | guard [INFO] [stdout] 466 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/context.rs:126:36 [INFO] [stdout] | [INFO] [stdout] 126 | pub async fn state_idle(&self) { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 127 | | self.state.lock().await.clear(); [INFO] [stdout] 128 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/context.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | pub async fn reset(&self) { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 41 | | // let mut guard = self.p2_ctx.lock().await; [INFO] [stdout] 42 | | // *guard = Default::default(); [INFO] [stdout] 43 | | self.state_idle().await; [INFO] [stdout] 44 | | self.clear_flow_ctrl().await; [INFO] [stdout] 45 | | self.clear_consecutive().await; [INFO] [stdout] 46 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/iso15765-2-0.1.0-b4/src/can/isotp/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / { [INFO] [stdout] 102 | | self.context.state_idle().await; [INFO] [stdout] 103 | | self.context.reset().await; [INFO] [stdout] 104 | | rsutil::trace!("ISO-TP - Sending: {}", hex::encode(&data)); [INFO] [stdout] ... | [INFO] [stdout] 143 | | Ok(()) [INFO] [stdout] 144 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: required for `Unique>` to implement `Send` [INFO] [stdout] note: required because it appears within the type `Box>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>` [INFO] [stdout] --> /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:187:78 [INFO] [stdout] | [INFO] [stdout] 187 | pub(crate) async fn transmit_response(&self, resp: Response, flag: bool) { [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 188 | | let service = resp.service(); [INFO] [stdout] 189 | | let data: Vec<_> = resp.into(); [INFO] [stdout] 190 | | if let Err(e) = self.isotp.transmit(AddressType::Physical, data).await { [INFO] [stdout] ... | [INFO] [stdout] 217 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/service/session_ctrl.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | ) -> Result<(), Iso14229Error> { [INFO] [stdout] | ____________________________________^ [INFO] [stdout] 24 | | let service = req.service(); [INFO] [stdout] 25 | | let resp = match req.sub_function() { [INFO] [stdout] 26 | | Some(sf) => { [INFO] [stdout] ... | [INFO] [stdout] 56 | | Ok(()) [INFO] [stdout] 57 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/server/server_impl/mod.rs:50:32 [INFO] [stdout] | [INFO] [stdout] 50 | async fn server(&mut self) { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 51 | | loop { [INFO] [stdout] 52 | | let timing = self.context.get_timing().clone(); [INFO] [stdout] 53 | | let cfg = self.context.get_did_config().clone(); [INFO] [stdout] ... | [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/server/server_impl/mod.rs:243:28 [INFO] [stdout] | [INFO] [stdout] 243 | let handle = spawn(async move { clone.server().await }); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `tokio::spawn` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/spawn.rs:168:21 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn spawn(future: F) -> JoinHandle [INFO] [stdout] | ----- required by a bound in this function [INFO] [stdout] 167 | where [INFO] [stdout] 168 | F: Future + Send + 'static, [INFO] [stdout] | ^^^^ required by this bound in `spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0275`. [INFO] [stdout] [INFO] [stderr] error: could not compile `docan` (lib) due to 2 previous errors [INFO] running `Command { std: "docker" "inspect" "25cd8809c2abeb254b9494869f13586a3448178f8e238c7b1cf9705c707abbe7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "25cd8809c2abeb254b9494869f13586a3448178f8e238c7b1cf9705c707abbe7", kill_on_drop: false }` [INFO] [stdout] 25cd8809c2abeb254b9494869f13586a3448178f8e238c7b1cf9705c707abbe7