[INFO] cloning repository https://github.com/LOKESH-999/lock-free-mpsc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LOKESH-999/lock-free-mpsc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLOKESH-999%2Flock-free-mpsc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLOKESH-999%2Flock-free-mpsc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2d4e197e34ca1bec71b6c588c28980d37dd4be07
[INFO] testing LOKESH-999/lock-free-mpsc against 1.90.0 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLOKESH-999%2Flock-free-mpsc" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/LOKESH-999/lock-free-mpsc
[INFO] finished tweaking git repo https://github.com/LOKESH-999/lock-free-mpsc
[INFO] tweaked toml for git repo https://github.com/LOKESH-999/lock-free-mpsc written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/LOKESH-999/lock-free-mpsc on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/LOKESH-999/lock-free-mpsc 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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d09662ff1e45b78708d69f9a3b49918231adccfa7dceae7c1582085f2d632b0b
[INFO] running `Command { std: "docker" "start" "-a" "d09662ff1e45b78708d69f9a3b49918231adccfa7dceae7c1582085f2d632b0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d09662ff1e45b78708d69f9a3b49918231adccfa7dceae7c1582085f2d632b0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d09662ff1e45b78708d69f9a3b49918231adccfa7dceae7c1582085f2d632b0b", kill_on_drop: false }`
[INFO] [stdout] d09662ff1e45b78708d69f9a3b49918231adccfa7dceae7c1582085f2d632b0b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 033ac72a1122b5196f426f8261ea9be2f9b2e3d9882afd2f7d2156823bbf6bf3
[INFO] running `Command { std: "docker" "start" "-a" "033ac72a1122b5196f426f8261ea9be2f9b2e3d9882afd2f7d2156823bbf6bf3", kill_on_drop: false }`
[INFO] [stderr]    Compiling lock-free-mpsc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `no_std`
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[cfg(all(test, not(no_std)))]
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(no_std)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(no_std)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawMpsc` is never constructed
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RawMpsc<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl<T: Debug> RawMpsc<T> {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn push(&self, data: T) -> Result<(), T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn pop(&self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlotArr` is never constructed
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/slot_arr.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SlotArr<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init_slots`, `set`, and `unset` are never used
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/slot_arr.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<T> SlotArr<T> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn init_slots(ptr: NonNull<Slot<T>>, capacity: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set(&self, index: usize, data: T) -> Result<(), T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn unset(&self, index: usize) -> Result<T, ()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawMpsc` is never constructed
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RawMpsc<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `wait_for_seg_alloc`, `push`, `pop`, `segment_push`, and `segment_pop` are never used
[INFO] [stdout]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<T: Debug> RawMpsc<T> {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  19 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     fn wait_for_seg_alloc(&self){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn push(&self, mut data: T) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn pop(&self) -> Option<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     fn segment_push(segment: &Segment<T>, data: T) -> Result<(), T> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn segment_pop(segment: &Segment<T>) -> Option<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_SIZE` is never used
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) const SEGMENT_SIZE: usize = 128;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Segment` is never constructed
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Segment<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `layout`, `set`, `unset`, `set_unchecked`, and `unset_unchecked` are never used
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<T> Segment<T> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     const fn layout() -> Layout {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn set(&self, index: usize, data: T) -> Result<(), T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn unset(&self, index: usize) -> Option<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub unsafe fn set_unchecked(&self, index: usize, data: T) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub unsafe fn unset_unchecked(&self, index: usize) -> T {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Slot` is never constructed
[INFO] [stdout]   --> src/mpsc/slot.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Slot<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set`, `unset`, `unchecked_set`, and `unchecked_unset` are never used
[INFO] [stdout]    --> src/mpsc/slot.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl<T> Slot<T> {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn set(&self, data: T) -> Result<(), T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn unset(&self) -> Result<T, ()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub unsafe fn unchecked_set(&self, data: T) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub unsafe fn unchecked_unset(&self) -> T {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `READY` is never used
[INFO] [stdout]    --> src/mpsc/slot.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(super) const READY: u8 = 0; // Slot is empty
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVED` is never used
[INFO] [stdout]    --> src/mpsc/slot.rs:108:7
[INFO] [stdout]     |
[INFO] [stdout] 108 | const RESERVED: u8 = 1; // Slot is reserved for writing
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTERED` is never used
[INFO] [stdout]    --> src/mpsc/slot.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const REGISTERED: u8 = 2; // Slot contains data
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 unsafe { transmute::<isize, usize>(-((next_head < self.slots.capacity) as isize)) };
[INFO] [stdout]    |                          -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: replace this with: `isize::cast_unsigned`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                         transmute::<isize, usize>(-((next_tail < self.slots.capacity) as isize))
[INFO] [stdout]     |                         -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:130:30
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     unsafe { transmute::<isize, usize>(-((next < self.slots.capacity) as isize)) };
[INFO] [stdout]     |                              -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:90:26
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 unsafe { transmute::<isize, usize>(-((next_unbound < SEGMENT_SIZE) as isize)) };
[INFO] [stdout]    |                          -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let is_bound = unsafe { transmute::<isize, usize>(-((tail + 1 < SEGMENT_SIZE) as isize)) };
[INFO] [stdout]     |                                     -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.50s
[INFO] running `Command { std: "docker" "inspect" "033ac72a1122b5196f426f8261ea9be2f9b2e3d9882afd2f7d2156823bbf6bf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "033ac72a1122b5196f426f8261ea9be2f9b2e3d9882afd2f7d2156823bbf6bf3", kill_on_drop: false }`
[INFO] [stdout] 033ac72a1122b5196f426f8261ea9be2f9b2e3d9882afd2f7d2156823bbf6bf3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 59a7df3921bf20dc5e4bef29b15677a32499415b7fd085374d3be797812666a1
[INFO] running `Command { std: "docker" "start" "-a" "59a7df3921bf20dc5e4bef29b15677a32499415b7fd085374d3be797812666a1", kill_on_drop: false }`
[INFO] [stdout] warning: unexpected `cfg` condition name: `no_std`
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[cfg(all(test, not(no_std)))]
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(no_std)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(no_std)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling lock-free-mpsc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `RawMpsc` is never constructed
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RawMpsc<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl<T: Debug> RawMpsc<T> {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn push(&self, data: T) -> Result<(), T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn pop(&self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlotArr` is never constructed
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/slot_arr.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SlotArr<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `init_slots`, `set`, and `unset` are never used
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/slot_arr.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<T> SlotArr<T> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn init_slots(ptr: NonNull<Slot<T>>, capacity: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set(&self, index: usize, data: T) -> Result<(), T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn unset(&self, index: usize) -> Result<T, ()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawMpsc` is never constructed
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RawMpsc<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `wait_for_seg_alloc`, `push`, `pop`, `segment_push`, and `segment_pop` are never used
[INFO] [stdout]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<T: Debug> RawMpsc<T> {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  19 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     fn wait_for_seg_alloc(&self){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn push(&self, mut data: T) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn pop(&self) -> Option<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     fn segment_push(segment: &Segment<T>, data: T) -> Result<(), T> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn segment_pop(segment: &Segment<T>) -> Option<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEGMENT_SIZE` is never used
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) const SEGMENT_SIZE: usize = 128;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Segment` is never constructed
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Segment<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `layout`, `set`, `unset`, `set_unchecked`, and `unset_unchecked` are never used
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<T> Segment<T> {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     const fn layout() -> Layout {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn set(&self, index: usize, data: T) -> Result<(), T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn unset(&self, index: usize) -> Option<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub unsafe fn set_unchecked(&self, index: usize, data: T) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub unsafe fn unset_unchecked(&self, index: usize) -> T {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Slot` is never constructed
[INFO] [stdout]   --> src/mpsc/slot.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Slot<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set`, `unset`, `unchecked_set`, and `unchecked_unset` are never used
[INFO] [stdout]    --> src/mpsc/slot.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl<T> Slot<T> {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn set(&self, data: T) -> Result<(), T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn unset(&self) -> Result<T, ()> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub unsafe fn unchecked_set(&self, data: T) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub unsafe fn unchecked_unset(&self) -> T {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `READY` is never used
[INFO] [stdout]    --> src/mpsc/slot.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(super) const READY: u8 = 0; // Slot is empty
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVED` is never used
[INFO] [stdout]    --> src/mpsc/slot.rs:108:7
[INFO] [stdout]     |
[INFO] [stdout] 108 | const RESERVED: u8 = 1; // Slot is reserved for writing
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTERED` is never used
[INFO] [stdout]    --> src/mpsc/slot.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const REGISTERED: u8 = 2; // Slot contains data
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 unsafe { transmute::<isize, usize>(-((next_head < self.slots.capacity) as isize)) };
[INFO] [stdout]    |                          -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: replace this with: `isize::cast_unsigned`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                         transmute::<isize, usize>(-((next_tail < self.slots.capacity) as isize))
[INFO] [stdout]     |                         -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:130:30
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     unsafe { transmute::<isize, usize>(-((next < self.slots.capacity) as isize)) };
[INFO] [stdout]     |                              -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:90:26
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 unsafe { transmute::<isize, usize>(-((next_unbound < SEGMENT_SIZE) as isize)) };
[INFO] [stdout]    |                          -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let is_bound = unsafe { transmute::<isize, usize>(-((tail + 1 < SEGMENT_SIZE) as isize)) };
[INFO] [stdout]     |                                     -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `no_std`
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[cfg(all(test, not(no_std)))]
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(no_std)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(no_std)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_multi_producer_single_consumer_basic` is never used
[INFO] [stdout]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn test_multi_producer_single_consumer_basic() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `unset`, `set_unchecked`, and `unset_unchecked` are never used
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<T> Segment<T> {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn unset(&self, index: usize) -> Option<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub unsafe fn set_unchecked(&self, index: usize, data: T) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub unsafe fn unset_unchecked(&self, index: usize) -> T {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 unsafe { transmute::<isize, usize>(-((next_head < self.slots.capacity) as isize)) };
[INFO] [stdout]    |                          -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: replace this with: `isize::cast_unsigned`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                         transmute::<isize, usize>(-((next_tail < self.slots.capacity) as isize))
[INFO] [stdout]     |                         -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:130:30
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     unsafe { transmute::<isize, usize>(-((next < self.slots.capacity) as isize)) };
[INFO] [stdout]     |                              -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:90:26
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 unsafe { transmute::<isize, usize>(-((next_unbound < SEGMENT_SIZE) as isize)) };
[INFO] [stdout]    |                          -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:117:37
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let is_bound = unsafe { transmute::<isize, usize>(-((tail + 1 < SEGMENT_SIZE) as isize)) };
[INFO] [stdout]     |                                     -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: replace this with: `isize::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.25s
[INFO] running `Command { std: "docker" "inspect" "59a7df3921bf20dc5e4bef29b15677a32499415b7fd085374d3be797812666a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59a7df3921bf20dc5e4bef29b15677a32499415b7fd085374d3be797812666a1", kill_on_drop: false }`
[INFO] [stdout] 59a7df3921bf20dc5e4bef29b15677a32499415b7fd085374d3be797812666a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0387c4b523253fb126f3bb4eee69499598177292a4b6b264517e315478da108e
[INFO] running `Command { std: "docker" "start" "-a" "0387c4b523253fb126f3bb4eee69499598177292a4b6b264517e315478da108e", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `no_std`
[INFO] [stderr]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:143:21
[INFO] [stderr]     |
[INFO] [stderr] 143 | #[cfg(all(test, not(no_std)))]
[INFO] [stderr]     |                     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(no_std)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(no_std)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawMpsc` is never constructed
[INFO] [stderr]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct RawMpsc<T> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `push`, and `pop` are never used
[INFO] [stderr]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 34 | impl<T: Debug> RawMpsc<T> {
[INFO] [stderr]    | ------------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn new(capacity: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn push(&self, data: T) -> Result<(), T> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub fn pop(&self) -> Option<T> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SlotArr` is never constructed
[INFO] [stderr]   --> src/mpsc/bounded_mpsc/slot_arr.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct SlotArr<T> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `init_slots`, `set`, and `unset` are never used
[INFO] [stderr]   --> src/mpsc/bounded_mpsc/slot_arr.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl<T> SlotArr<T> {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 17 |     pub fn new(capacity: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     fn init_slots(ptr: NonNull<Slot<T>>, capacity: usize) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn set(&self, index: usize, data: T) -> Result<(), T> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn unset(&self, index: usize) -> Result<T, ()> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawMpsc` is never constructed
[INFO] [stderr]   --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct RawMpsc<T> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `wait_for_seg_alloc`, `push`, `pop`, `segment_push`, and `segment_pop` are never used
[INFO] [stderr]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:19:12
[INFO] [stderr]     |
[INFO] [stderr]  18 | impl<T: Debug> RawMpsc<T> {
[INFO] [stderr]     | ------------------------- associated items in this implementation
[INFO] [stderr]  19 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  32 |     fn wait_for_seg_alloc(&self){
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  38 |     pub fn push(&self, mut data: T) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr]  62 |     pub fn pop(&self) -> Option<T> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  83 |     fn segment_push(segment: &Segment<T>, data: T) -> Result<(), T> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 110 |     fn segment_pop(segment: &Segment<T>) -> Option<T> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SEGMENT_SIZE` is never used
[INFO] [stderr]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:12:18
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub(crate) const SEGMENT_SIZE: usize = 128;
[INFO] [stderr]    |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Segment` is never constructed
[INFO] [stderr]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct Segment<T> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `layout`, `set`, `unset`, `set_unchecked`, and `unset_unchecked` are never used
[INFO] [stderr]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl<T> Segment<T> {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 22 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     const fn layout() -> Layout {
[INFO] [stderr]    |              ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn set(&self, index: usize, data: T) -> Result<(), T> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn unset(&self, index: usize) -> Option<T> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub unsafe fn set_unchecked(&self, index: usize, data: T) {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74 |     pub unsafe fn unset_unchecked(&self, index: usize) -> T {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Slot` is never constructed
[INFO] [stderr]   --> src/mpsc/slot.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct Slot<T> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set`, `unset`, `unchecked_set`, and `unchecked_unset` are never used
[INFO] [stderr]    --> src/mpsc/slot.rs:43:12
[INFO] [stderr]     |
[INFO] [stderr]  28 | impl<T> Slot<T> {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  43 |     pub fn set(&self, data: T) -> Result<(), T> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  67 |     pub fn unset(&self) -> Result<T, ()> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  88 |     pub unsafe fn unchecked_set(&self, data: T) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub unsafe fn unchecked_unset(&self) -> T {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `READY` is never used
[INFO] [stderr]    --> src/mpsc/slot.rs:107:18
[INFO] [stderr]     |
[INFO] [stderr] 107 | pub(super) const READY: u8 = 0; // Slot is empty
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RESERVED` is never used
[INFO] [stderr]    --> src/mpsc/slot.rs:108:7
[INFO] [stderr]     |
[INFO] [stderr] 108 | const RESERVED: u8 = 1; // Slot is reserved for writing
[INFO] [stderr]     |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `REGISTERED` is never used
[INFO] [stderr]    --> src/mpsc/slot.rs:109:7
[INFO] [stderr]     |
[INFO] [stderr] 109 | const REGISTERED: u8 = 2; // Slot contains data
[INFO] [stderr]     |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/mpsc/bounded_mpsc/raw_mpsc.rs:64:26
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 unsafe { transmute::<isize, usize>(-((next_head < self.slots.capacity) as isize)) };
[INFO] [stderr]    |                          -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          help: replace this with: `isize::cast_unsigned`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:100:25
[INFO] [stderr]     |
[INFO] [stderr] 100 |                         transmute::<isize, usize>(-((next_tail < self.slots.capacity) as isize))
[INFO] [stderr]     |                         -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: replace this with: `isize::cast_unsigned`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/mpsc/bounded_mpsc/raw_mpsc.rs:130:30
[INFO] [stderr]     |
[INFO] [stderr] 130 |                     unsafe { transmute::<isize, usize>(-((next < self.slots.capacity) as isize)) };
[INFO] [stderr]     |                              -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              help: replace this with: `isize::cast_unsigned`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:90:26
[INFO] [stderr]    |
[INFO] [stderr] 90 |                 unsafe { transmute::<isize, usize>(-((next_unbound < SEGMENT_SIZE) as isize)) };
[INFO] [stderr]    |                          -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          help: replace this with: `isize::cast_unsigned`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:117:37
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let is_bound = unsafe { transmute::<isize, usize>(-((tail + 1 < SEGMENT_SIZE) as isize)) };
[INFO] [stderr]     |                                     -------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     help: replace this with: `isize::cast_unsigned`
[INFO] [stderr] 
[INFO] [stderr] warning: `lock-free-mpsc` (lib) generated 20 warnings (run `cargo fix --lib -p lock-free-mpsc` to apply 5 suggestions)
[INFO] [stderr] warning: function `test_multi_producer_single_consumer_basic` is never used
[INFO] [stderr]    --> src/mpsc/unbounded_mpsc/raw_mpsc.rs:175:8
[INFO] [stderr]     |
[INFO] [stderr] 175 |     fn test_multi_producer_single_consumer_basic() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `unset`, `set_unchecked`, and `unset_unchecked` are never used
[INFO] [stderr]   --> src/mpsc/unbounded_mpsc/segment_arr.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl<T> Segment<T> {
[INFO] [stderr]    | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn unset(&self, index: usize) -> Option<T> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub unsafe fn set_unchecked(&self, index: usize, data: T) {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74 |     pub unsafe fn unset_unchecked(&self, index: usize) -> T {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `lock-free-mpsc` (lib test) generated 8 warnings (6 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lock_free_mpsc-9dd6731221939561)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test mpsc::bounded_mpsc::raw_mpsc::tests::test_capacity_one_behavior ... ok
[INFO] [stdout] test mpsc::bounded_mpsc::raw_mpsc::tests::test_basic_push_pop ... ok
[INFO] [stdout] test mpsc::bounded_mpsc::raw_mpsc::tests::test_degenerate_capacity_zero ... ok
[INFO] [stdout] test mpsc::bounded_mpsc::raw_mpsc::tests::test_order_preserved_single_thread ... ok
[INFO] [stdout] test mpsc::bounded_mpsc::raw_mpsc::tests::test_pop_from_empty ... ok
[INFO] [stdout] test mpsc::bounded_mpsc::raw_mpsc::tests::test_push_until_full ... ok
[INFO] [stdout] test mpsc::slot::tests::test_set_failure_when_not_ready ... ok
[INFO] [stdout] test mpsc::slot::tests::test_unchecked_set_and_unset ... ok
[INFO] [stdout] test mpsc::slot::tests::test_unset_failure_when_not_registered ... ok
[INFO] [stdout] test mpsc::unbounded_mpsc::raw_mpsc::tests::test_custom_struct_message ... ok
[INFO] [stdout] test mpsc::slot::tests::test_set_and_unset_success ... ok
[INFO] [stdout] test mpsc::unbounded_mpsc::raw_mpsc::tests::test_multiple_push_pop_single_thread ... ok
[INFO] [stdout] test mpsc::unbounded_mpsc::raw_mpsc::tests::test_pop_after_exhaustion ... ok
[INFO] [stdout] test mpsc::unbounded_mpsc::raw_mpsc::tests::test_pop_empty_queue ... ok
[INFO] [stdout] test mpsc::unbounded_mpsc::raw_mpsc::tests::test_push_pop_single_thread ... ok
[INFO] [stdout] test mpsc::bounded_mpsc::raw_mpsc::tests::test_multi_producer_single_consumer ... ok
[INFO] [stdout] test mpsc::unbounded_mpsc::raw_mpsc::tests::test_multi_producer_with_delay ... FAILED
[INFO] [stdout] test mpsc::bounded_mpsc::raw_mpsc::tests::free_drop_test ... ok
[INFO] [stdout] test mpsc::unbounded_mpsc::raw_mpsc::tests::test_stress_multi_producer_single_consumer has been running for over 60 seconds
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/lock_free_mpsc-9dd6731221939561` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "0387c4b523253fb126f3bb4eee69499598177292a4b6b264517e315478da108e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0387c4b523253fb126f3bb4eee69499598177292a4b6b264517e315478da108e", kill_on_drop: false }`
[INFO] [stdout] 0387c4b523253fb126f3bb4eee69499598177292a4b6b264517e315478da108e
