[INFO] cloning repository https://github.com/mccloskeybr/socks [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mccloskeybr/socks" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmccloskeybr%2Fsocks", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmccloskeybr%2Fsocks'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e0973ebee199c9988571767fe399574594f14ceb [INFO] checking mccloskeybr/socks against try#028201683a76a5cd349729c6819c46607119c4e8 for pr-144157 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmccloskeybr%2Fsocks" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mccloskeybr/socks [INFO] finished tweaking git repo https://github.com/mccloskeybr/socks [INFO] tweaked toml for git repo https://github.com/mccloskeybr/socks written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mccloskeybr/socks on toolchain 028201683a76a5cd349729c6819c46607119c4e8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+028201683a76a5cd349729c6819c46607119c4e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mccloskeybr/socks 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" "+028201683a76a5cd349729c6819c46607119c4e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+028201683a76a5cd349729c6819c46607119c4e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9ce8f2aac553433ceadd32c87cdac4f59d68f2c0239406cc8207aced69f3b06c [INFO] running `Command { std: "docker" "start" "-a" "9ce8f2aac553433ceadd32c87cdac4f59d68f2c0239406cc8207aced69f3b06c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9ce8f2aac553433ceadd32c87cdac4f59d68f2c0239406cc8207aced69f3b06c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9ce8f2aac553433ceadd32c87cdac4f59d68f2c0239406cc8207aced69f3b06c", kill_on_drop: false }` [INFO] [stdout] 9ce8f2aac553433ceadd32c87cdac4f59d68f2c0239406cc8207aced69f3b06c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+028201683a76a5cd349729c6819c46607119c4e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 45656e3b6eeffee5f0488515b527262beb16071d2f5474098e74d8cd7e509cfd [INFO] running `Command { std: "docker" "start" "-a" "45656e3b6eeffee5f0488515b527262beb16071d2f5474098e74d8cd7e509cfd", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling libc v0.2.164 [INFO] [stderr] Compiling rustix v0.38.41 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Compiling protobuf v3.7.1 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling anyhow v1.0.93 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling fastrand v2.2.0 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Compiling hashbrown v0.15.1 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling protoc-bin-vendored-macos-aarch_64 v3.1.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling protoc-bin-vendored-linux-aarch_64 v3.1.0 [INFO] [stderr] Compiling protoc-bin-vendored-linux-ppcle_64 v3.1.0 [INFO] [stderr] Compiling protoc-bin-vendored-win32 v3.1.0 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling protoc-bin-vendored-linux-x86_64 v3.1.0 [INFO] [stderr] Compiling indexmap v2.6.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling protoc-bin-vendored-linux-x86_32 v3.1.0 [INFO] [stderr] Compiling protoc-bin-vendored-macos-x86_64 v3.1.0 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Compiling protoc-bin-vendored v3.1.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking clap_lex v0.7.3 [INFO] [stderr] Checking pin-project-lite v0.2.15 [INFO] [stderr] Checking bytes v1.9.0 [INFO] [stderr] Checking clap_builder v4.5.21 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.89 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling tempfile v3.14.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking env_filter v0.1.2 [INFO] [stderr] Checking env_logger v0.11.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Checking tokio v1.42.0 [INFO] [stderr] Compiling protobuf-support v3.7.1 [INFO] [stderr] Checking clap v4.5.21 [INFO] [stderr] Compiling protobuf-parse v3.7.1 [INFO] [stderr] Compiling protobuf-codegen v3.7.1 [INFO] [stderr] Compiling socks v0.1.0 (/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 (`socks`) [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.42.0/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.42.0/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.42.0/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] --> src/buffer.rs:140:67 [INFO] [stdout] | [INFO] [stdout] 140 | pub(crate) async fn write_to_file(&self) -> Result<(), Error> { [INFO] [stdout] | ___________________________________________________________________^ [INFO] [stdout] 141 | | assert!(!self.would_overflow(0)); [INFO] [stdout] 142 | | if !self.is_dirty { [INFO] [stdout] 143 | | return Ok(()); [INFO] [stdout] ... | [INFO] [stdout] 160 | | Ok(()) [INFO] [stdout] 161 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:99:52 [INFO] [stdout] | [INFO] [stdout] 99 | async fn evict(&mut self) -> Result<(), Error> { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 100 | | debug_assert!(self.map.len() > 0); [INFO] [stdout] 101 | | let mut lru = self.sentinel.as_ptr().left.clone(); [INFO] [stdout] 102 | | lru.left.right = lru.right.clone(); [INFO] [stdout] ... | [INFO] [stdout] 115 | | Ok(()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:134:59 [INFO] [stdout] | [INFO] [stdout] 134 | ) -> Result>>, Error> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 135 | | debug_assert!(self.get(table_id, offset).await.is_none()); [INFO] [stdout] 136 | | if self.map.len() >= BUFFER_POOL_SHARD_SIZE { [INFO] [stdout] 137 | | self.evict().await?; [INFO] [stdout] ... | [INFO] [stdout] 149 | | Ok(entry_ptr.deref().data.get().unwrap().clone()) [INFO] [stdout] 150 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:225:59 [INFO] [stdout] | [INFO] [stdout] 225 | ) -> Result>>, Error> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 226 | | let mut shard = self.shards[Self::shard_idx(table.id, offset)].lock().await; [INFO] [stdout] 227 | | match shard.get(table.id, offset).await { [INFO] [stdout] 228 | | Some(buffer) => return Ok(buffer), [INFO] [stdout] ... | [INFO] [stdout] 234 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 150 | | let root_node_lock = table [INFO] [stdout] 151 | | .buffer_pool [INFO] [stdout] 152 | | .read_from_table(table, table.root_chunk_offset) [INFO] [stdout] ... | [INFO] [stdout] 200 | | Ok(()) [INFO] [stdout] 201 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/mod.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 43 | | match WRITE_STRATEGY { [INFO] [stdout] 44 | | AggressiveSplit => insert_aggressive_split::insert::(table, key, row).await, [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/table.rs:95:93 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) async fn insert(&self, key: u32, row: InternalRowProto) -> Result<(), Error> { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 96 | | log::trace!("Inserting row: {row}"); [INFO] [stdout] 97 | | bp_tree::insert(self, key, row).await [INFO] [stdout] 98 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/database.rs:88:70 [INFO] [stdout] | [INFO] [stdout] 88 | pub async fn insert(&self, op: InsertProto) -> Result<(), Error> { [INFO] [stdout] | ______________________________________________________________________^ [INFO] [stdout] 89 | | let table_key = schema::get_hashed_key_from_row(&op.row, &self.table.schema); [INFO] [stdout] 90 | | let table_row_internal = schema::row_to_internal_row(&op.row); [INFO] [stdout] 91 | | self.table.insert(table_key, table_row_internal).await?; [INFO] [stdout] ... | [INFO] [stdout] 106 | | Ok(()) [INFO] [stdout] 107 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/./database_test.rs:217:24 [INFO] [stdout] | [INFO] [stdout] 217 | task_set.spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/socks-2ae20941e26a1f85.long-type-14226711666843558792.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0275]: overflow evaluating the requirement `(&tokio::sync::Mutex>>,): Send` [INFO] [stdout] --> src/./database_test.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 217 | task_set.spawn(async move { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`socks`) [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.42.0/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.42.0/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.42.0/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] --> src/buffer.rs:140:67 [INFO] [stdout] | [INFO] [stdout] 140 | pub(crate) async fn write_to_file(&self) -> Result<(), Error> { [INFO] [stdout] | ___________________________________________________________________^ [INFO] [stdout] 141 | | assert!(!self.would_overflow(0)); [INFO] [stdout] 142 | | if !self.is_dirty { [INFO] [stdout] 143 | | return Ok(()); [INFO] [stdout] ... | [INFO] [stdout] 160 | | Ok(()) [INFO] [stdout] 161 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:99:52 [INFO] [stdout] | [INFO] [stdout] 99 | async fn evict(&mut self) -> Result<(), Error> { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 100 | | debug_assert!(self.map.len() > 0); [INFO] [stdout] 101 | | let mut lru = self.sentinel.as_ptr().left.clone(); [INFO] [stdout] 102 | | lru.left.right = lru.right.clone(); [INFO] [stdout] ... | [INFO] [stdout] 115 | | Ok(()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:134:59 [INFO] [stdout] | [INFO] [stdout] 134 | ) -> Result>>, Error> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 135 | | debug_assert!(self.get(table_id, offset).await.is_none()); [INFO] [stdout] 136 | | if self.map.len() >= BUFFER_POOL_SHARD_SIZE { [INFO] [stdout] 137 | | self.evict().await?; [INFO] [stdout] ... | [INFO] [stdout] 149 | | Ok(entry_ptr.deref().data.get().unwrap().clone()) [INFO] [stdout] 150 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:225:59 [INFO] [stdout] | [INFO] [stdout] 225 | ) -> Result>>, Error> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 226 | | let mut shard = self.shards[Self::shard_idx(table.id, offset)].lock().await; [INFO] [stdout] 227 | | match shard.get(table.id, offset).await { [INFO] [stdout] 228 | | Some(buffer) => return Ok(buffer), [INFO] [stdout] ... | [INFO] [stdout] 234 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 150 | | let root_node_lock = table [INFO] [stdout] 151 | | .buffer_pool [INFO] [stdout] 152 | | .read_from_table(table, table.root_chunk_offset) [INFO] [stdout] ... | [INFO] [stdout] 200 | | Ok(()) [INFO] [stdout] 201 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/mod.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 43 | | match WRITE_STRATEGY { [INFO] [stdout] 44 | | AggressiveSplit => insert_aggressive_split::insert::(table, key, row).await, [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/table.rs:95:93 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) async fn insert(&self, key: u32, row: InternalRowProto) -> Result<(), Error> { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 96 | | log::trace!("Inserting row: {row}"); [INFO] [stdout] 97 | | bp_tree::insert(self, key, row).await [INFO] [stdout] 98 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/database.rs:88:70 [INFO] [stdout] | [INFO] [stdout] 88 | pub async fn insert(&self, op: InsertProto) -> Result<(), Error> { [INFO] [stdout] | ______________________________________________________________________^ [INFO] [stdout] 89 | | let table_key = schema::get_hashed_key_from_row(&op.row, &self.table.schema); [INFO] [stdout] 90 | | let table_row_internal = schema::row_to_internal_row(&op.row); [INFO] [stdout] 91 | | self.table.insert(table_key, table_row_internal).await?; [INFO] [stdout] ... | [INFO] [stdout] 106 | | Ok(()) [INFO] [stdout] 107 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/./database_test.rs:217:24 [INFO] [stdout] | [INFO] [stdout] 217 | task_set.spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `JoinSet::::spawn` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/task/join_set.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn spawn(&mut self, task: F) -> AbortHandle [INFO] [stdout] | ----- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 135 | F: Send + 'static, [INFO] [stdout] | ^^^^ required by this bound in `JoinSet::::spawn` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/socks-2ae20941e26a1f85.long-type-5685022464299616054.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [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 (`socks`) [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.42.0/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.42.0/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.42.0/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] --> src/buffer.rs:140:67 [INFO] [stdout] | [INFO] [stdout] 140 | pub(crate) async fn write_to_file(&self) -> Result<(), Error> { [INFO] [stdout] | ___________________________________________________________________^ [INFO] [stdout] 141 | | assert!(!self.would_overflow(0)); [INFO] [stdout] 142 | | if !self.is_dirty { [INFO] [stdout] 143 | | return Ok(()); [INFO] [stdout] ... | [INFO] [stdout] 160 | | Ok(()) [INFO] [stdout] 161 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:99:52 [INFO] [stdout] | [INFO] [stdout] 99 | async fn evict(&mut self) -> Result<(), Error> { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 100 | | debug_assert!(self.map.len() > 0); [INFO] [stdout] 101 | | let mut lru = self.sentinel.as_ptr().left.clone(); [INFO] [stdout] 102 | | lru.left.right = lru.right.clone(); [INFO] [stdout] ... | [INFO] [stdout] 115 | | Ok(()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:134:59 [INFO] [stdout] | [INFO] [stdout] 134 | ) -> Result>>, Error> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 135 | | debug_assert!(self.get(table_id, offset).await.is_none()); [INFO] [stdout] 136 | | if self.map.len() >= BUFFER_POOL_SHARD_SIZE { [INFO] [stdout] 137 | | self.evict().await?; [INFO] [stdout] ... | [INFO] [stdout] 149 | | Ok(entry_ptr.deref().data.get().unwrap().clone()) [INFO] [stdout] 150 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:212:59 [INFO] [stdout] | [INFO] [stdout] 212 | ) -> Result>>, Error> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 213 | | let buffer = Buffer::new_next_for_table(table).await; [INFO] [stdout] 214 | | let mut shard = self.shards[Self::shard_idx(table.id, buffer.offset)] [INFO] [stdout] 215 | | .lock() [INFO] [stdout] 216 | | .await; [INFO] [stdout] 217 | | shard.insert(table.id, buffer.offset, buffer).await [INFO] [stdout] 218 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:113:55 [INFO] [stdout] | [INFO] [stdout] 113 | ) -> Result>>, Error> { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 114 | | log::trace!("Splitting internal node."); [INFO] [stdout] 115 | | debug_assert!(parent.get().has_internal()); [INFO] [stdout] 116 | | debug_assert!(child.get().has_internal()); [INFO] [stdout] ... | [INFO] [stdout] 140 | | Ok(right_child_lock) [INFO] [stdout] 141 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 150 | | let root_node_lock = table [INFO] [stdout] 151 | | .buffer_pool [INFO] [stdout] 152 | | .read_from_table(table, table.root_chunk_offset) [INFO] [stdout] ... | [INFO] [stdout] 200 | | Ok(()) [INFO] [stdout] 201 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/mod.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 43 | | match WRITE_STRATEGY { [INFO] [stdout] 44 | | AggressiveSplit => insert_aggressive_split::insert::(table, key, row).await, [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/table.rs:95:93 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) async fn insert(&self, key: u32, row: InternalRowProto) -> Result<(), Error> { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 96 | | log::trace!("Inserting row: {row}"); [INFO] [stdout] 97 | | bp_tree::insert(self, key, row).await [INFO] [stdout] 98 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/./table_test.rs:246:24 [INFO] [stdout] | [INFO] [stdout] 246 | task_set.spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/socks-2ae20941e26a1f85.long-type-13711651931572531461.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0275]: overflow evaluating the requirement `(&tokio::sync::Mutex>>,): Send` [INFO] [stdout] --> src/./table_test.rs:246:18 [INFO] [stdout] | [INFO] [stdout] 246 | task_set.spawn(async move { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`socks`) [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.42.0/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.42.0/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.42.0/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] --> src/buffer.rs:140:67 [INFO] [stdout] | [INFO] [stdout] 140 | pub(crate) async fn write_to_file(&self) -> Result<(), Error> { [INFO] [stdout] | ___________________________________________________________________^ [INFO] [stdout] 141 | | assert!(!self.would_overflow(0)); [INFO] [stdout] 142 | | if !self.is_dirty { [INFO] [stdout] 143 | | return Ok(()); [INFO] [stdout] ... | [INFO] [stdout] 160 | | Ok(()) [INFO] [stdout] 161 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:99:52 [INFO] [stdout] | [INFO] [stdout] 99 | async fn evict(&mut self) -> Result<(), Error> { [INFO] [stdout] | ____________________________________________________^ [INFO] [stdout] 100 | | debug_assert!(self.map.len() > 0); [INFO] [stdout] 101 | | let mut lru = self.sentinel.as_ptr().left.clone(); [INFO] [stdout] 102 | | lru.left.right = lru.right.clone(); [INFO] [stdout] ... | [INFO] [stdout] 115 | | Ok(()) [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:134:59 [INFO] [stdout] | [INFO] [stdout] 134 | ) -> Result>>, Error> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 135 | | debug_assert!(self.get(table_id, offset).await.is_none()); [INFO] [stdout] 136 | | if self.map.len() >= BUFFER_POOL_SHARD_SIZE { [INFO] [stdout] 137 | | self.evict().await?; [INFO] [stdout] ... | [INFO] [stdout] 149 | | Ok(entry_ptr.deref().data.get().unwrap().clone()) [INFO] [stdout] 150 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/buffer_pool.rs:212:59 [INFO] [stdout] | [INFO] [stdout] 212 | ) -> Result>>, Error> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 213 | | let buffer = Buffer::new_next_for_table(table).await; [INFO] [stdout] 214 | | let mut shard = self.shards[Self::shard_idx(table.id, buffer.offset)] [INFO] [stdout] 215 | | .lock() [INFO] [stdout] 216 | | .await; [INFO] [stdout] 217 | | shard.insert(table.id, buffer.offset, buffer).await [INFO] [stdout] 218 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:113:55 [INFO] [stdout] | [INFO] [stdout] 113 | ) -> Result>>, Error> { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 114 | | log::trace!("Splitting internal node."); [INFO] [stdout] 115 | | debug_assert!(parent.get().has_internal()); [INFO] [stdout] 116 | | debug_assert!(child.get().has_internal()); [INFO] [stdout] ... | [INFO] [stdout] 140 | | Ok(right_child_lock) [INFO] [stdout] 141 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [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/028201683a76a5cd349729c6819c46607119c4e8/library/alloc/src/boxed.rs:231:12 [INFO] [stdout] note: required because it appears within the type `Pin>>>` [INFO] [stdout] --> /rustc/028201683a76a5cd349729c6819c46607119c4e8/library/core/src/pin.rs:1094:12 [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 35 | | let idx = bp_tree::find_next_node_idx_for_key(node_buffer.get().internal(), key)?; [INFO] [stdout] 36 | | let mut child_lock = table [INFO] [stdout] 37 | | .buffer_pool [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/insert_aggressive_split.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 150 | | let root_node_lock = table [INFO] [stdout] 151 | | .buffer_pool [INFO] [stdout] 152 | | .read_from_table(table, table.root_chunk_offset) [INFO] [stdout] ... | [INFO] [stdout] 200 | | Ok(()) [INFO] [stdout] 201 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/bp_tree/mod.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | ) -> Result<(), Error> { [INFO] [stdout] | ________________________^ [INFO] [stdout] 43 | | match WRITE_STRATEGY { [INFO] [stdout] 44 | | AggressiveSplit => insert_aggressive_split::insert::(table, key, row).await, [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_^ [INFO] [stdout] note: required because it's used within this `async` fn body [INFO] [stdout] --> src/table.rs:95:93 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) async fn insert(&self, key: u32, row: InternalRowProto) -> Result<(), Error> { [INFO] [stdout] | _____________________________________________________________________________________________^ [INFO] [stdout] 96 | | log::trace!("Inserting row: {row}"); [INFO] [stdout] 97 | | bp_tree::insert(self, key, row).await [INFO] [stdout] 98 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: required because it's used within this `async` block [INFO] [stdout] --> src/./table_test.rs:246:24 [INFO] [stdout] | [INFO] [stdout] 246 | task_set.spawn(async move { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `JoinSet::::spawn` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.42.0/src/task/join_set.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn spawn(&mut self, task: F) -> AbortHandle [INFO] [stdout] | ----- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 135 | F: Send + 'static, [INFO] [stdout] | ^^^^ required by this bound in `JoinSet::::spawn` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/socks-2ae20941e26a1f85.long-type-16645596938409865909.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0275`. [INFO] [stdout] [INFO] [stderr] error: could not compile `socks` (lib test) due to 4 previous errors [INFO] running `Command { std: "docker" "inspect" "45656e3b6eeffee5f0488515b527262beb16071d2f5474098e74d8cd7e509cfd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "45656e3b6eeffee5f0488515b527262beb16071d2f5474098e74d8cd7e509cfd", kill_on_drop: false }` [INFO] [stdout] 45656e3b6eeffee5f0488515b527262beb16071d2f5474098e74d8cd7e509cfd