[INFO] cloning repository https://github.com/YagerICS/remote-drop
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/YagerICS/remote-drop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYagerICS%2Fremote-drop", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYagerICS%2Fremote-drop'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c75d6c021e329be8ee18dbdb10f104229597d9f4
[INFO] checking YagerICS/remote-drop/c75d6c021e329be8ee18dbdb10f104229597d9f4 against 1af98b7cdf86932b76182a387f52f1be6f0c1be0 for pr-159706
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYagerICS%2Fremote-drop" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/YagerICS/remote-drop
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/YagerICS/remote-drop
[INFO] tweaked toml for git repo https://github.com/YagerICS/remote-drop written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/YagerICS/remote-drop on toolchain 1af98b7cdf86932b76182a387f52f1be6f0c1be0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1af98b7cdf86932b76182a387f52f1be6f0c1be0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/YagerICS/remote-drop 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" "+1af98b7cdf86932b76182a387f52f1be6f0c1be0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/embassy-rs/embassy`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.84
[INFO] [stderr]   Downloaded defmt-macros v0.3.9
[INFO] [stderr]   Downloaded generator v0.8.3
[INFO] [stderr]   Downloaded defmt v0.3.8
[INFO] [stderr]   Downloaded defmt-parser v0.3.4
[INFO] [stderr]   Downloaded talc v4.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8
[INFO] running `Command { std: "docker" "start" "ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8" "/opt/rustwide/cargo-home/bin/cargo" "+1af98b7cdf86932b76182a387f52f1be6f0c1be0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8" "/opt/rustwide/cargo-home/bin/cargo" "+1af98b7cdf86932b76182a387f52f1be6f0c1be0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.84
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling defmt-macros v0.3.9
[INFO] [stderr]    Compiling defmt v0.3.8
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking critical-section v1.1.2
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking talc v4.4.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling defmt-parser v0.3.4
[INFO] [stderr]     Checking remote-drop v1.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/remote_drop.rs:361:16
[INFO] [stdout]     |
[INFO] [stdout] 361 |             && let Some(node) = self.extract_one()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: Must specify one of the 'std' or 'embassy' or 'loom' features
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | compile_error!("Must specify one of the 'std' or 'embassy' or 'loom' features");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> src/remote_drop.rs:361:16
[INFO] [stdout]     |
[INFO] [stdout] 361 |             && let Some(node) = self.extract_one()
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: Must specify one of the 'std' or 'embassy' or 'loom' features
[INFO] [stdout]  --> src/lib.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | compile_error!("Must specify one of the 'std' or 'embassy' or 'loom' features");
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::Borrow`
[INFO] [stdout]  --> src/mutex.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::Borrow`
[INFO] [stdout]  --> src/mutex.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0392]: type parameter `A` is never used
[INFO] [stdout]   --> src/remote_drop.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Queue<A: Allocator> {
[INFO] [stdout]    |                  ^ unused type parameter
[INFO] [stdout] 22 |     head: Mutex<core::cell::RefCell<ToDeallocate<A>>>,
[INFO] [stdout]    |                                                  - `A` is named here, but is likely unused in the containing type
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing `A`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `remote-drop` (lib) due to 10 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0392]: type parameter `A` is never used
[INFO] [stdout]   --> src/remote_drop.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Queue<A: Allocator> {
[INFO] [stdout]    |                  ^ unused type parameter
[INFO] [stdout] 22 |     head: Mutex<core::cell::RefCell<ToDeallocate<A>>>,
[INFO] [stdout]    |                                                  - `A` is named here, but is likely unused in the containing type
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing `A`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0392]: type parameter `T` is never used
[INFO] [stdout]  --> src/mutex.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Mutex<T> {
[INFO] [stdout]   |                  ^ unused type parameter
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout]   = help: if you intended `T` to be a const parameter, use `const T: /* Type */` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0392]: type parameter `T` is never used
[INFO] [stdout]  --> src/mutex.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Mutex<T> {
[INFO] [stdout]   |                  ^ unused type parameter
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
[INFO] [stdout]   = help: if you intended `T` to be a const parameter, use `const T: /* Type */` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/remote_drop.rs:36:44
[INFO] [stdout]     |
[INFO] [stdout]  36 |         let head = Mutex::new(RefCell::new(ToDeallocate::new()));
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `A` declared on the struct `ToDeallocate`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `Allocator`
[INFO] [stdout]     = help: the following types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               &mut A
[INFO] [stdout]               Arc<T, A>
[INFO] [stdout]               Box<T, A>
[INFO] [stdout]               Rc<T, A>
[INFO] [stdout]               remote_drop::alloc::alloc::Global
[INFO] [stdout] note: required by a bound in `ToDeallocate`
[INFO] [stdout]    --> src/remote_drop.rs:330:28
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct ToDeallocate<A: Allocator> {
[INFO] [stdout]     |                            ^^^^^^^^^ required by this bound in `ToDeallocate`
[INFO] [stdout] help: consider specifying a concrete type for the type parameter `A`
[INFO] [stdout]     |
[INFO] [stdout]  36 |         let head = Mutex::new(RefCell::new(ToDeallocate::</* Type */>::new()));
[INFO] [stdout]     |                                                        ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]   --> src/remote_drop.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.head.lock(|q| q.borrow_mut().extract_one());
[INFO] [stdout]    |                             ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholder `_` is specified
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.head.lock(|q: &T| q.borrow_mut().extract_one());
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]   --> src/remote_drop.rs:53:60
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let garbage: heapless::Vec<_, N> = self.head.lock(|q| q.borrow_mut().extract_several());
[INFO] [stdout]    |                                                            ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholder `_` is specified
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let garbage: heapless::Vec<_, N> = self.head.lock(|q: &T| q.borrow_mut().extract_several());
[INFO] [stdout]    |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> src/remote_drop.rs:160:31
[INFO] [stdout]     |
[INFO] [stdout] 160 |         self.queue.head.lock(|q| q.borrow_mut().add_item(item));
[INFO] [stdout]     |                               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholder `_` is specified
[INFO] [stdout]     |
[INFO] [stdout] 160 |         self.queue.head.lock(|q: &T| q.borrow_mut().add_item(item));
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/remote_drop.rs:36:44
[INFO] [stdout]     |
[INFO] [stdout]  36 |         let head = Mutex::new(RefCell::new(ToDeallocate::new()));
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `A` declared on the struct `ToDeallocate`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `Allocator`
[INFO] [stdout]     = help: the following types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               &mut A
[INFO] [stdout]               Arc<T, A>
[INFO] [stdout]               Box<T, A>
[INFO] [stdout]               Rc<T, A>
[INFO] [stdout]               System
[INFO] [stdout]               Talck<R, O>
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `ToDeallocate`
[INFO] [stdout]    --> src/remote_drop.rs:330:28
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct ToDeallocate<A: Allocator> {
[INFO] [stdout]     |                            ^^^^^^^^^ required by this bound in `ToDeallocate`
[INFO] [stdout] help: consider specifying a concrete type for the type parameter `A`
[INFO] [stdout]     |
[INFO] [stdout]  36 |         let head = Mutex::new(RefCell::new(ToDeallocate::</* Type */>::new()));
[INFO] [stdout]     |                                                        ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]   --> src/remote_drop.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.head.lock(|q| q.borrow_mut().extract_one());
[INFO] [stdout]    |                             ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholder `_` is specified
[INFO] [stdout]    |
[INFO] [stdout] 48 |             self.head.lock(|q: &T| q.borrow_mut().extract_one());
[INFO] [stdout]    |                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]   --> src/remote_drop.rs:53:60
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let garbage: heapless::Vec<_, N> = self.head.lock(|q| q.borrow_mut().extract_several());
[INFO] [stdout]    |                                                            ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholder `_` is specified
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let garbage: heapless::Vec<_, N> = self.head.lock(|q: &T| q.borrow_mut().extract_several());
[INFO] [stdout]    |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> src/remote_drop.rs:160:31
[INFO] [stdout]     |
[INFO] [stdout] 160 |         self.queue.head.lock(|q| q.borrow_mut().add_item(item));
[INFO] [stdout]     |                               ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholder `_` is specified
[INFO] [stdout]     |
[INFO] [stdout] 160 |         self.queue.head.lock(|q: &T| q.borrow_mut().add_item(item));
[INFO] [stdout]     |                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/mutex.rs:15:55
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn lock<U>(&self, f: impl FnOnce(&T) -> U) -> U {
[INFO] [stdout]    |            ---- -                                     ^ expected type parameter `U`, found `()`
[INFO] [stdout]    |            |    |
[INFO] [stdout]    |            |    expected this type parameter
[INFO] [stdout]    |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `U`
[INFO] [stdout]                    found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/mutex.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const fn new(t: T) -> Self {
[INFO] [stdout]    |                  ---          ^^^^ expected `Mutex<T>`, found `()`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Mutex<T>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/remote_drop.rs:439:64
[INFO] [stdout]     |
[INFO] [stdout] 439 |             let q: &'static Queue<Global> = Box::leak(Box::new(Queue::new()));
[INFO] [stdout]     |                                                                ^^^^^^^^^^ cannot infer type of the type parameter `A` declared on the struct `Queue`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `Allocator`
[INFO] [stdout]     = help: the following types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               &mut A
[INFO] [stdout]               Arc<T, A>
[INFO] [stdout]               Box<T, A>
[INFO] [stdout]               Rc<T, A>
[INFO] [stdout]               System
[INFO] [stdout]               Talck<R, O>
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `remote_drop::Queue`
[INFO] [stdout]    --> src/remote_drop.rs:21:21
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct Queue<A: Allocator> {
[INFO] [stdout]     |                     ^^^^^^^^^ required by this bound in `Queue`
[INFO] [stdout] help: consider specifying a concrete type for the type parameter `A`
[INFO] [stdout]     |
[INFO] [stdout] 439 |             let q: &'static Queue<Global> = Box::leak(Box::new(Queue::</* Type */>::new()));
[INFO] [stdout]     |                                                                     ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0283, E0308, E0392.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/remote_drop.rs:471:63
[INFO] [stdout]     |
[INFO] [stdout] 471 |             let q: &'static Queue<Alloc> = Box::leak(Box::new(Queue::new()));
[INFO] [stdout]     |                                                               ^^^^^^^^^^ cannot infer type of the type parameter `A` declared on the struct `Queue`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `Allocator`
[INFO] [stdout]     = help: the following types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               &mut A
[INFO] [stdout]               Arc<T, A>
[INFO] [stdout]               Box<T, A>
[INFO] [stdout]               Rc<T, A>
[INFO] [stdout]               System
[INFO] [stdout]               Talck<R, O>
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `remote_drop::Queue`
[INFO] [stdout]    --> src/remote_drop.rs:21:21
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct Queue<A: Allocator> {
[INFO] [stdout]     |                     ^^^^^^^^^ required by this bound in `Queue`
[INFO] [stdout] help: consider specifying a concrete type for the type parameter `A`
[INFO] [stdout]     |
[INFO] [stdout] 471 |             let q: &'static Queue<Alloc> = Box::leak(Box::new(Queue::</* Type */>::new()));
[INFO] [stdout]     |                                                                    ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/remote_drop.rs:506:63
[INFO] [stdout]     |
[INFO] [stdout] 506 |             let q: &'static Queue<Alloc> = Box::leak(Box::new(Queue::new()));
[INFO] [stdout]     |                                                               ^^^^^^^^^^ cannot infer type of the type parameter `A` declared on the struct `Queue`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `Allocator`
[INFO] [stdout]     = help: the following types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               &mut A
[INFO] [stdout]               Arc<T, A>
[INFO] [stdout]               Box<T, A>
[INFO] [stdout]               Rc<T, A>
[INFO] [stdout]               System
[INFO] [stdout]               Talck<R, O>
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `remote_drop::Queue`
[INFO] [stdout]    --> src/remote_drop.rs:21:21
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct Queue<A: Allocator> {
[INFO] [stdout]     |                     ^^^^^^^^^ required by this bound in `Queue`
[INFO] [stdout] help: consider specifying a concrete type for the type parameter `A`
[INFO] [stdout]     |
[INFO] [stdout] 506 |             let q: &'static Queue<Alloc> = Box::leak(Box::new(Queue::</* Type */>::new()));
[INFO] [stdout]     |                                                                    ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/remote_drop.rs:565:63
[INFO] [stdout]     |
[INFO] [stdout] 565 |             let q: &'static Queue<Alloc> = Box::leak(Box::new(Queue::new()));
[INFO] [stdout]     |                                                               ^^^^^^^^^^ cannot infer type of the type parameter `A` declared on the struct `Queue`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `Allocator`
[INFO] [stdout]     = help: the following types implement trait `Allocator`:
[INFO] [stdout]               &A
[INFO] [stdout]               &mut A
[INFO] [stdout]               Arc<T, A>
[INFO] [stdout]               Box<T, A>
[INFO] [stdout]               Rc<T, A>
[INFO] [stdout]               System
[INFO] [stdout]               Talck<R, O>
[INFO] [stdout]               std::alloc::Global
[INFO] [stdout] note: required by a bound in `remote_drop::Queue`
[INFO] [stdout]    --> src/remote_drop.rs:21:21
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct Queue<A: Allocator> {
[INFO] [stdout]     |                     ^^^^^^^^^ required by this bound in `Queue`
[INFO] [stdout] help: consider specifying a concrete type for the type parameter `A`
[INFO] [stdout]     |
[INFO] [stdout] 565 |             let q: &'static Queue<Alloc> = Box::leak(Box::new(Queue::</* Type */>::new()));
[INFO] [stdout]     |                                                                    ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/mutex.rs:15:55
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn lock<U>(&self, f: impl FnOnce(&T) -> U) -> U {
[INFO] [stdout]    |            ---- -                                     ^ expected type parameter `U`, found `()`
[INFO] [stdout]    |            |    |
[INFO] [stdout]    |            |    expected this type parameter
[INFO] [stdout]    |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `U`
[INFO] [stdout]                    found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/mutex.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub const fn new(t: T) -> Self {
[INFO] [stdout]    |                  ---          ^^^^ expected `Mutex<T>`, found `()`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `mutex::Mutex<T>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0283, E0308, E0392.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `remote-drop` (lib test) due to 14 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8", kill_on_drop: false }`
[INFO] [stdout] ec2d165023226871c0d6207d06b28da854be22d994b6ef8fed61142d199923d8
